专门代理
($AL_DIR/modules/proxies)
使用专门代理是调用Aldebaran Robotics方法的最简便的方式。
- 包括对应于所需模块的.h头文件
- 创建专门代理的对象
- 调用所需方法
专门代理的API:
方法 | 说明 |
---|---|
ALProxy(std::string Module) | 在本地或远程模块里进行调用的构造函数 |
ALProxy(std::string Module, std::string IP, int port) | 在远程模块里调用的构造函数。代理不会进行本地过程调用(LPC) |
methodName(parameters) | “methodName”是.h模块方法。调用方法 |
post.methodName(parameters) | “methodName”是.h模块方法。在一个线程里的调用方法 |
// C++ sample // we suppose user created a module with module generator #include "almemoryproxy.h" // instantiate a new proxy. Poor performance, create it in initialisation ALPtr<ALMemoryProxy> proxy = ALPtr<ALMemoryProxy> (new ALMemoryProxy(getParentBroker())); proxy->insertData("val1", 0); // instantiate a new proxy without smart pointer (same poor performance) ALMemoryProxy proxy2(getParentBroker()); prox2.insertData("val2", 1); // get existing proxy (best performance) getParentBroker()->getMemoryProxy()->insertData("val3", 2);