/[svn]/liblscp/trunk/src/device.c
ViewVC logotype

Diff of /liblscp/trunk/src/device.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 171 by capela, Mon Jul 5 16:26:44 2004 UTC revision 189 by capela, Thu Jul 8 16:31:47 2004 UTC
# Line 55  static lscp_driver_info_t *_lscp_driver_ Line 55  static lscp_driver_info_t *_lscp_driver_
55              if (strcasecmp(pszToken, "DESCRIPTION") == 0) {              if (strcasecmp(pszToken, "DESCRIPTION") == 0) {
56                  pszToken = lscp_strtok(NULL, pszCrlf, &(pch));                  pszToken = lscp_strtok(NULL, pszCrlf, &(pch));
57                  if (pszToken)                  if (pszToken)
58                      pDriverInfo->description = lscp_unquote(&pszToken, 1);                      lscp_unquote_dup(&(pDriverInfo->description), &pszToken);
59              }              }
60              else if (strcasecmp(pszToken, "VERSION") == 0) {              else if (strcasecmp(pszToken, "VERSION") == 0) {
61                  pszToken = lscp_strtok(NULL, pszCrlf, &(pch));                  pszToken = lscp_strtok(NULL, pszCrlf, &(pch));
62                  if (pszToken)                  if (pszToken)
63                      pDriverInfo->version = lscp_unquote(&pszToken, 1);                      lscp_unquote_dup(&(pDriverInfo->version), &pszToken);
64              }              }
65              else if (strcasecmp(pszToken, "PARAMETERS") == 0) {              else if (strcasecmp(pszToken, "PARAMETERS") == 0) {
66                  pszToken = lscp_strtok(NULL, pszCrlf, &(pch));                  pszToken = lscp_strtok(NULL, pszCrlf, &(pch));
67                  if (pszToken)                  if (pszToken) {
68                        if (pDriverInfo->parameters)
69                            lscp_szsplit_destroy(pDriverInfo->parameters);
70                      pDriverInfo->parameters = lscp_szsplit_create(pszToken, ",");                      pDriverInfo->parameters = lscp_szsplit_create(pszToken, ",");
71                    }
72              }              }
73              pszToken = lscp_strtok(NULL, pszSeps, &(pch));              pszToken = lscp_strtok(NULL, pszSeps, &(pch));
74          }          }
75      }      }
76        else pDriverInfo = NULL;
77            
78      // Unlock this section down.      // Unlock this section down.
79      lscp_mutex_unlock(pClient->mutex);      lscp_mutex_unlock(pClient->mutex);
# Line 99  static lscp_device_info_t *_lscp_device_ Line 103  static lscp_device_info_t *_lscp_device_
103              if (strcasecmp(pszToken, "DRIVER") == 0) {              if (strcasecmp(pszToken, "DRIVER") == 0) {
104                  pszToken = lscp_strtok(NULL, pszCrlf, &(pch));                  pszToken = lscp_strtok(NULL, pszCrlf, &(pch));
105                  if (pszToken)                  if (pszToken)
106                      pDeviceInfo->driver = lscp_unquote(&pszToken, 1);                      lscp_unquote_dup(&(pDeviceInfo->driver), &pszToken);
107              }              }
108              else {              else {
109                  pszKey = pszToken;                  pszKey = pszToken;
# Line 110  static lscp_device_info_t *_lscp_device_ Line 114  static lscp_device_info_t *_lscp_device_
114              pszToken = lscp_strtok(NULL, pszSeps, &(pch));              pszToken = lscp_strtok(NULL, pszSeps, &(pch));
115          }          }
116      }      }
117        else pDeviceInfo = NULL;
118    
119      // Unlock this section down.      // Unlock this section down.
120      lscp_mutex_unlock(pClient->mutex);      lscp_mutex_unlock(pClient->mutex);
# Line 139  static lscp_device_port_info_t *_lscp_de Line 144  static lscp_device_port_info_t *_lscp_de
144              if (strcasecmp(pszToken, "NAME") == 0) {              if (strcasecmp(pszToken, "NAME") == 0) {
145                  pszToken = lscp_strtok(NULL, pszCrlf, &(pch));                  pszToken = lscp_strtok(NULL, pszCrlf, &(pch));
146                  if (pszToken)                  if (pszToken)
147                      pDevicePortInfo->name = lscp_unquote(&pszToken, 1);                      lscp_unquote_dup(&(pDevicePortInfo->name), &pszToken);
148              }              }
149              else {              else {
150                  pszKey = pszToken;                  pszKey = pszToken;
# Line 150  static lscp_device_port_info_t *_lscp_de Line 155  static lscp_device_port_info_t *_lscp_de
155              pszToken = lscp_strtok(NULL, pszSeps, &(pch));              pszToken = lscp_strtok(NULL, pszSeps, &(pch));
156          }          }
157      }      }
158        else pDevicePortInfo = NULL;
159    
160      // Unlock this section down.      // Unlock this section down.
161      lscp_mutex_unlock(pClient->mutex);      lscp_mutex_unlock(pClient->mutex);
# Line 193  static lscp_param_info_t *_lscp_param_in Line 199  static lscp_param_info_t *_lscp_param_in
199              else if (strcasecmp(pszToken, "DESCRIPTION") == 0) {              else if (strcasecmp(pszToken, "DESCRIPTION") == 0) {
200                  pszToken = lscp_strtok(NULL, pszCrlf, &(pch));                  pszToken = lscp_strtok(NULL, pszCrlf, &(pch));
201                  if (pszToken)                  if (pszToken)
202                      pParamInfo->description = lscp_unquote(&pszToken, 1);                      lscp_unquote_dup(&(pParamInfo->description), &pszToken);
203              }              }
204              else if (strcasecmp(pszToken, "MANDATORY") == 0) {              else if (strcasecmp(pszToken, "MANDATORY") == 0) {
205                  pszToken = lscp_strtok(NULL, pszCrlf, &(pch));                  pszToken = lscp_strtok(NULL, pszCrlf, &(pch));
# Line 212  static lscp_param_info_t *_lscp_param_in Line 218  static lscp_param_info_t *_lscp_param_in
218              }              }
219              else if (strcasecmp(pszToken, "DEPENDS") == 0) {              else if (strcasecmp(pszToken, "DEPENDS") == 0) {
220                  pszToken = lscp_strtok(NULL, pszCrlf, &(pch));                  pszToken = lscp_strtok(NULL, pszCrlf, &(pch));
221                  if (pszToken)                  if (pszToken) {
222                        if (pParamInfo->depends)
223                            lscp_szsplit_destroy(pParamInfo->depends);
224                      pParamInfo->depends = lscp_szsplit_create(pszToken, ",");                      pParamInfo->depends = lscp_szsplit_create(pszToken, ",");
225                    }
226              }              }
227              else if (strcasecmp(pszToken, "DEFAULT") == 0) {              else if (strcasecmp(pszToken, "DEFAULT") == 0) {
228                  pszToken = lscp_strtok(NULL, pszCrlf, &(pch));                  pszToken = lscp_strtok(NULL, pszCrlf, &(pch));
229                  if (pszToken)                  if (pszToken)
230                      pParamInfo->defaultv = lscp_unquote(&pszToken, 1);                      lscp_unquote_dup(&(pParamInfo->defaultv), &pszToken);
231              }              }
232              else if (strcasecmp(pszToken, "RANGE_MIN") == 0) {              else if (strcasecmp(pszToken, "RANGE_MIN") == 0) {
233                  pszToken = lscp_strtok(NULL, pszCrlf, &(pch));                  pszToken = lscp_strtok(NULL, pszCrlf, &(pch));
234                  if (pszToken)                  if (pszToken)
235                      pParamInfo->range_min = lscp_unquote(&pszToken, 1);                      lscp_unquote_dup(&(pParamInfo->range_min), &pszToken);
236              }              }
237              else if (strcasecmp(pszToken, "RANGE_MAX") == 0) {              else if (strcasecmp(pszToken, "RANGE_MAX") == 0) {
238                  pszToken = lscp_strtok(NULL, pszCrlf, &(pch));                  pszToken = lscp_strtok(NULL, pszCrlf, &(pch));
239                  if (pszToken)                  if (pszToken)
240                      pParamInfo->range_max = lscp_unquote(&pszToken, 1);                      lscp_unquote_dup(&(pParamInfo->range_max), &pszToken);
241              }              }
242              else if (strcasecmp(pszToken, "POSSIBILITIES") == 0) {              else if (strcasecmp(pszToken, "POSSIBILITIES") == 0) {
243                  pszToken = lscp_strtok(NULL, pszCrlf, &(pch));                  pszToken = lscp_strtok(NULL, pszCrlf, &(pch));
244                  if (pszToken)                  if (pszToken) {
245                        if (pParamInfo->possibilities)
246                            lscp_szsplit_destroy(pParamInfo->possibilities);
247                      pParamInfo->possibilities = lscp_szsplit_create(pszToken, ",");                      pParamInfo->possibilities = lscp_szsplit_create(pszToken, ",");
248                    }
249              }              }
250              pszToken = lscp_strtok(NULL, pszSeps, &(pch));              pszToken = lscp_strtok(NULL, pszSeps, &(pch));
251          }          }
252      }      }
253        else pParamInfo = NULL;
254    
255      // Unlock this section down.      // Unlock this section down.
256      lscp_mutex_unlock(pClient->mutex);      lscp_mutex_unlock(pClient->mutex);
# Line 937  lscp_status_t lscp_set_midi_port_param ( Line 950  lscp_status_t lscp_set_midi_port_param (
950      return lscp_client_query(pClient, szQuery);      return lscp_client_query(pClient, szQuery);
951  }  }
952    
953    
954    //-------------------------------------------------------------------------
955    // Generic parameter list functions.
956    
957    const char *lscp_get_param_value ( lscp_param_t *pParams, const char *pszParam )
958    {
959        int i;
960        
961        for (i = 0; pParams && pParams[i].key; i++) {
962            if (strcasecmp(pParams[i].key, pszParam) == 0)
963                return (const char *) pParams[i].value;
964        }
965        return NULL;
966    }
967    
968    
969  // end of device.c  // end of device.c
970    

Legend:
Removed from v.171  
changed lines
  Added in v.189

  ViewVC Help
Powered by ViewVC