00001 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 
00018 
00019 
00020 
00021 
00022 
00023 
00024 
00025 
00026 
00027 
00028 
00029 
00030 
00031 
00032 
00033 
00034 
00035 
00036 #ifndef DISCOVER_XML_H
00037 #define DISCOVER_XML_H
00038 
00039 #include <discover/discover.h>
00040 
00041 #ifdef __cplusplus
00042     extern "C" {
00043 #endif
00044 
00045 discover_device_t *
00046 discover_xml_find_device(discover_device_t *xml_devices,
00047                          char *target_vendor, char *target_model,
00048                          discover_error_t *status);
00049 discover_device_t *
00050 discover_xml_find_next_device(discover_device_t *xml_devices,
00051                               char *target_vendor, char *target_model,
00052                               discover_error_t *status);
00053 
00054 discover_device_t *
00055 discover_xml_get_matching_devices(discover_device_t *xml_devices,
00056                                   char *target_vendor, char *target_model,
00057                                   discover_error_t *status);
00058 
00059 int discover_xml_version_cmp(char *range, char *version,
00060                              discover_error_t *status);
00061 
00062 
00063 
00064 
00065 
00066 discover_xml_url_t *discover_xml_url_new(void);
00067 void discover_xml_url_copy(discover_xml_url_t *src, discover_xml_url_t *dst);
00068 void discover_xml_url_free(discover_xml_url_t *urls);
00069 
00070 char *
00071 discover_xml_url_get_url(discover_xml_url_t *url);
00072 
00073 char *
00074 discover_xml_url_get_bus(discover_xml_url_t *url);
00075 
00076 char *
00077 discover_xml_url_get_type(discover_xml_url_t *url);
00078 
00079 discover_xml_url_t *
00080 discover_xml_url_get_next(discover_xml_url_t *url);
00081 
00082 discover_xml_url_t *
00083 discover_xml_url_get_last(discover_xml_url_t *url);
00084 
00085 char *
00086 discover_xml_url_get_label(discover_xml_url_t *url);
00087 
00088 discover_xml_url_t *discover_xml_get_urls(discover_error_t *status);
00089 void discover_xml_free_urls(void);
00090 
00091 discover_xml_url_t *discover_xml_get_data_urls(discover_bus_t bus,
00092                                                discover_filetype_t filetype,
00093                                                discover_error_t *status);
00094 void discover_xml_free_data_urls(void);
00095 
00096 
00097 
00098 
00099 
00100 discover_xml_busclass_t *discover_xml_busclass_new(void);
00101 
00102 discover_xml_busclass_t *discover_xml_get_busclasses(discover_bus_t bus,
00103                                                      discover_error_t *status);
00104 
00105 void discover_xml_free_busclasses(void);
00106 
00107 void
00108 discover_xml_merge_busclass_url(discover_xml_busclass_t **blist,
00109                                 char *filename, discover_error_t *status);
00110 
00111 char *discover_xml_busclass_to_class(char *busclass,
00112                                      discover_xml_busclass_t *busclasses);
00113 int discover_xml_busclass_cmp(char *busclass, char *discover_class,
00114                               discover_xml_busclass_t *busclasses);
00115 char *discover_xml_busclass_get_id(discover_xml_busclass_t *busclass);
00116 
00117 char *discover_xml_busclass_get_name(discover_xml_busclass_t *busclass);
00118 discover_xml_busclass_t *
00119 discover_xml_busclass_get_next(discover_xml_busclass_t *busclass);
00120 
00121 void discover_xml_busclass_free(discover_xml_busclass_t *busclasses);
00122 
00123 
00124 
00125 
00126 
00127 discover_device_t *
00128 discover_xml_get_devices(discover_bus_t bus, discover_error_t *status);
00129 
00130 void discover_xml_free_devices(void);
00131 
00132 void
00133 discover_xml_merge_device_url(discover_device_t **dlist, char *url,
00134                               discover_xml_busclass_t *busclasses,
00135                               discover_xml_vendor_t *vendors,
00136                               discover_error_t *status);
00137 
00138 
00139 
00140 
00141 
00142 discover_xml_vendor_t *discover_xml_vendor_new(void);
00143 
00144 void
00145 discover_xml_merge_vendor_url(discover_xml_vendor_t **vlist, char *filename,
00146                               discover_error_t *status);
00147 discover_xml_vendor_t *discover_xml_get_vendors(discover_bus_t bus,
00148                                                 discover_error_t *status);
00149 void discover_xml_free_vendors(void);
00150 
00151 char *discover_xml_vendor_id2name(discover_xml_vendor_t *vendors, char *id);
00152 char *discover_xml_vendor_get_id(discover_xml_vendor_t *vendor);
00153 char *discover_xml_vendor_get_name(discover_xml_vendor_t *vendor);
00154 discover_xml_vendor_t *
00155 discover_xml_vendor_get_next(discover_xml_vendor_t *vendor);
00156 
00157 void discover_xml_vendor_free(discover_xml_vendor_t *vendors);
00158 
00159 #ifdef __cplusplus
00160     }
00161 #endif
00162 
00163 #endif