模块
模块既是类,也是库。从“autoload.ini”加载的库会自动实例化模块主类。
模块生成器(参见 SDK )创建一个会被代理程序读懂的类:加载一个模块,查看模块函数API等等。
ALModule
函数 | 说明 |
---|---|
virtual void init(void); | 加载一个模块时,会自动调用这个虚拟重置函数。 |
ALPtr<AL::ALProxy> getProxy(const std::string& pModuleName); | 获得对另一个模块的访问。 |
inline ALPtr<ALBroker> getParentBroker () | 获取父类代理程序指针/智能指针。参见代理程序。 |
virtual void dataChanged (const std::string& pDataName, const AL::ALValue& pValue, const std::string& pMessage)=0; | 当ALMemory一个变量有变化时,默认的回调名 |
bool ping( void ); | 查验(ping)一个模块 |
virtual void exit( ); | 退出一个模块。如果您进行重新定义,应仍将其命名为“ALModule::exit()”。否则,模块不会被彻底销毁。 |
std::string getName() | 获取模块名 |
inline ALPtr<ALModuleInfo> getModuleInfo (){ return fModuleInfo;}; | 获取模块信息 |
virtual std::string httpGet () const{ return "";}; | 在网页上显示的模块信息。 |
创建ALModule的API
函数 | 说明 |
---|---|
#define BIND_METHOD( x ) | 在模块的API里添加方法x。API(绑定函数)可以被本地或远程调用。 |
void functionName ( const std::string& pName, const std::string& pClass, const std::string& pFunctionDescription ); | 用来定义绑定方法的名称。 |
void addParam (const std::string& pName, const std::string& pDesc); | 用来说明方法的参数 |
virtual AL::ALValue getMethodHelp ( const std::string& pMethodName ); | 获取methodName的说明 |
AL::ALValue moduleHelp(); | 获取模块的说明 |
Copyright © 2010 Aldebaran-Robotics - 版权所有