00001 #ifndef __si_sha_instbrg_h__51d162f8_d78f_4f57_848a_b2dd96c0f02b
00002 #define __si_sha_instbrg_h__51d162f8_d78f_4f57_848a_b2dd96c0f02b
00003
00004
00009 #include <si_sys/serial.h>
00010 #include <si_sha/autobrg.h>
00011 #include <si_sha/insteon.h>
00012
00022 typedef struct sc_insteonBridge {
00023 sc_automationBridgeBase base_;
00024 sc_serialPort port_;
00025 s_uint32 address_;
00026 s_uint8 category_;
00027 s_uint8 subcategory_;
00028 sc_automationPacketPtrhList ooo_;
00029 } sc_insteonBridge;
00030
00031
00032
00033 sc_status sc_insteonBridge_construct(sc_insteonBridge* pb,
00034 const TCHAR* name,
00035 const TCHAR* devName,
00036 const TCHAR* basePath);
00048 sc_status sc_insteonBridge_destruct(sc_insteonBridge* pb);
00051 sc_status sc_insteonBridge_getVersion(sc_insteonBridge* pb,
00052 sc_insteonBridgeVersion* pv);
00058 sc_status sc_insteonBridge_resetLinks(sc_insteonBridge* pb);
00069 sc_status sc_insteonBridge_getFirstLinkEntry(sc_insteonBridge* pb,
00070 sc_insteonLinkEntry* ple);
00080 sc_status sc_insteonBridge_getNextLink(sc_insteonBridge* pb,
00081 sc_insteonLinkEntry* ple);
00091 sc_status sc_insteonBridge_getConfiguration(sc_insteonBridge* pb, s_uint8* pcfg);
00101 sc_status sc_insteonBridge_setConfiguration(sc_insteonBridge* pb, s_uint8 cfg);
00111 sc_status sc_insteonBridge_sendGroupMessage(sc_insteonBridge* pb,
00112 s_uint8 groupId,
00113 s_uint8 cmd1, s_uint8 cmd2);
00128 sc_status sc_insteonBridge_sendStdMessage(sc_insteonBridge* pb,
00129 s_uint32 toAddress,
00130 s_uint8 cmd1, s_uint8 cmd2);
00151 sc_status sc_insteonBridge_sendExtMessage(sc_insteonBridge* pb,
00152 s_uint32 toAddress,
00153 s_uint8 cmd1, s_uint8 cmd2,
00154 s_uint8* data, s_int32 len);
00174 #endif