00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #ifndef OTMANAGER_H
00024 #define OTMANAGER_H
00025
00026
00027 #include "ot_lib.h"
00028
00029
00030
00031 class ot_manager
00032 {
00033
00034 protected:
00035
00036 ot_manager(void);
00037
00038
00039 public:
00040
00041 virtual ~ot_manager(void);
00042
00043
00048 virtual
00049 void callFunction(const ot_path &fPath,
00050 const ot_obj &input,
00051 auto_ptr<ot_obj> &output) = 0;
00052
00055 virtual
00056 void dumpInterface(auto_ptr<ot_obj> &output) = 0;
00057
00059 virtual
00060 void pingInterface(void) = 0;
00061
00066 virtual
00067 void getAttribute(const ot_path &aPath,
00068 auto_ptr<ot_obj> &output) = 0;
00069
00074 virtual
00075 void setAttribute(const ot_path &aPath,
00076 const ot_obj &newValue) = 0;
00077
00080 virtual
00081 void addAttribute(const ot_path &ePath,
00082 const string &name,
00083 const ot_obj &o) = 0;
00084
00087 virtual
00088 void removeElement(const ot_path &ePath) = 0;
00089
00092 virtual
00093 void lockAttribute(const ot_path &aPath) = 0;
00094
00097 virtual
00098 void unlockAttribute(const ot_path &aPath) = 0;
00099
00102 virtual
00103 void setInterfaceAccess(const ot_path &iPath,
00104 OT_IE_ACCESS a) = 0;
00105
00108 virtual
00109 OT_IE_STATUS getAttributeStatus(const ot_path &aPath) = 0;
00110
00114 virtual
00115 void addInterface(const ot_path &iPath,
00116 OT_IE_ACCESS access) = 0;
00117
00120 virtual
00121 void removeInterface(const ot_path &iPath) = 0;
00122
00126 virtual
00127 void addFunction(const ot_path &iPath,
00128 ot_functionImplementation *fImpl,
00129 OT_IE_ACCESS a) = 0;
00130
00133 virtual
00134 void removeFunction(const ot_path &iPath) = 0;
00135 };
00136
00137 #endif