28#ifndef _ManufacturerSpecificDB_H
29#define _ManufacturerSpecificDB_H
53 m_manufacturerId(_manufacturerId), m_productType(_productType), m_productId(_productId), m_productName(_productName), m_manufacturerName(_manufacturerName), m_configPath(_configPath), m_configrevision(0)
62 return (
GetKey(m_manufacturerId, m_productType, m_productId));
67 int64 key = (((int64) _manufacturerId) << 32) | (((int64) _productType) << 16) | (int64) _productId;
73 return m_manufacturerId;
77 return m_manufacturerName;
97 m_configrevision = revision;
101 return m_configrevision;
107 string m_productName;
108 string m_manufacturerName;
124 static void Destroy();
126 bool LoadProductXML();
127 void UnloadProductXML();
134 return m_latestRevision;
139 m_latestRevision = rev;
142 void checkConfigFiles(
Driver *);
143 void configDownloaded(
Driver *,
string file,
uint8 node,
bool success =
true);
144 void mfsConfigDownloaded(
Driver *,
string file,
bool success =
true);
145 void fileDownloaded(
Driver *,
string file,
bool success =
true);
148 bool updateMFSConfigFile(
Driver *);
149 void checkInitialized();
155 void checkConfigFileContents(
Driver *driver,
string file);
161 std::shared_ptr<ProductDescriptor> getProduct(
uint16 _manufacturerId,
uint16 _productType,
uint16 _productId);
164 static map<uint16, string> s_manufacturerMap;
165 static map<int64, std::shared_ptr<ProductDescriptor> > s_productMap;
166 static bool s_bXmlLoaded;
168 list<string> m_downloading;
unsigned short uint16
Definition: Defs.h:88
unsigned int uint32
Definition: Defs.h:91
#define OPENZWAVE_EXPORT
Definition: Defs.h:52
unsigned char uint8
Definition: Defs.h:85
The Driver class handles communication between OpenZWave and a device attached via a serial port (typ...
Definition: Driver.h:85
The _ManufacturerSpecificDB class handles the Config File Database that we use to configure devices.
Definition: ManufacturerSpecificDB.h:117
void setLatestRevision(uint32 rev)
Definition: ManufacturerSpecificDB.h:137
uint32 getLatestRevision()
Definition: ManufacturerSpecificDB.h:132
uint32 getRevision()
Definition: ManufacturerSpecificDB.h:128
static ManufacturerSpecificDB * Get()
Definition: ManufacturerSpecificDB.h:120
Definition: ManufacturerSpecificDB.h:50
ProductDescriptor(uint16 _manufacturerId, uint16 _productType, uint16 _productId, string const &_productName, string const &_manufacturerName, string const &_configPath)
Definition: ManufacturerSpecificDB.h:52
static int64 GetKey(uint16 _manufacturerId, uint16 _productType, uint16 _productId)
Definition: ManufacturerSpecificDB.h:65
~ProductDescriptor()
Definition: ManufacturerSpecificDB.h:56
uint16 GetProductType() const
Definition: ManufacturerSpecificDB.h:79
uint16 GetProductId() const
Definition: ManufacturerSpecificDB.h:83
uint16 GetManufacturerId() const
Definition: ManufacturerSpecificDB.h:71
string GetConfigPath() const
Definition: ManufacturerSpecificDB.h:91
string GetProductName() const
Definition: ManufacturerSpecificDB.h:87
int64 GetKey() const
Definition: ManufacturerSpecificDB.h:60
uint32 GetConfigRevision() const
Definition: ManufacturerSpecificDB.h:99
string GetManufacturerName() const
Definition: ManufacturerSpecificDB.h:75
void SetConfigRevision(uint32 revision)
Definition: ManufacturerSpecificDB.h:95
The Node class describes a Z-Wave node object...typically a device on the Z-Wave network.
Definition: Node.h:82
Definition: Bitfield.cpp:31