osvr::clientkit::ClientContext
来源:互联网 发布:java模拟登陆qq空间 编辑:程序博客网 时间:2024/05/17 23:58
客户端上下文对象:在应用程序中创建并保存。
用于管理生命周期以及访问ClientKit功能函数。
在Context_decl.h的第57行声明。
构造函数:
osvr::clientkit::ClientContext::ClientContext(const char applicationIdentifier[], uint32_t flags = 0u)
@brief:对库初始化
@applicationIdentifier:给应用程序取的标识名。推荐使用反向域名格式,比如
(osvr::clientkit::ClientContext context("com.osvr.exampleclients.Imaging");)
@flags :初始化选项(保留,可选)
在Context.h第45行定义。
osvr::clientkit::ClientContext::ClientContext(OSVR_ClientContext context)
@brief:使用存在的context初始化当前context
@note:ClientContext类将占有该context
在Context.h第49行定义。
成员函数:
Interface svr::clientkit::ClientContext::getInterface(const std::string &path)
@brief:获取与指定路径关联的接口
@returns:返回接口对象
在Context.h第61行定义。
std::string osvr::clientkit::ClientContext::getStringParameter(const std::string &path)
@brief:从给定路径获取字符串
@path:给定路径
@returns:字符串值或者空值(如果给定路径不存在或者不是一个字符串时)
在Context.h第74行定义。
bool osvr::clientkit::ClientContext::checkStatus() const
@brief:检查客户端上下文是否正常启动
@returns:若返回false,则可能server没有启动,或连接server超时,或者程序没有调用update()函数
在Context.h第111行定义。
void osvr::clientkit::ClientContext::log(OSVR_LogLevel severity, const char* message)
@brief:log一个消息到插件特定通道。
@severity:log信息等级。如下:
typedef enum OSVR_LogLevel { OSVR_LOGLEVEL_TRACE = 0, //< function entry and exit, control flow. OSVR_LOGLEVEL_DEBUG = 10, //< debug-level messages. OSVR_LOGLEVEL_INFO = 20, //< informational messages. OSVR_LOGLEVEL_NOTICE = 30, //< normal but significant condition. OSVR_LOGLEVEL_WARN = 40, //< warning conditions. OSVR_LOGLEVEL_ERROR = 50, //< error messages. OSVR_LOGLEVEL_CRITICAL = 60, //< critical conditions. } OSVR_LogLevel;
@message:log信息
=========================================================2017年8月8日
构造函数:
inline ClientContext::ClientContext(const char applicationIdentifier[], uint32_t flags) : m_context(osvrClientInit(applicationIdentifier, flags)) {}
OSVR_ClientContext osvrClientInit(const char applicationIdentifier[], uint32_t /*flags*/) { auto host = osvr::util::getEnvironmentVariable(HOST_ENV_VAR); if (host.is_initialized()) { make_clientkit_logger()->notice() << "App " << applicationIdentifier << ": Connecting to non-default host " << *host; return ::osvr::client::createContext(applicationIdentifier, host->c_str()); } make_clientkit_logger()->debug("Connecting to default (local) host"); return ::osvr::client::createContext(applicationIdentifier);}
static const char HOST_ENV_VAR[] = "OSVR_HOST";
/// A real implementation of the functionality. boost::optional<std::string> getEnvironmentVariable(std::string const &var) { boost::optional<std::string> ret; auto initialRet = std::getenv(var.c_str()); if (nullptr == initialRet) { return ret; } std::string val(initialRet);#ifdef OSVR_WINDOWS // Windows doesn't distinguish between empty and not defined, so assume // empty means not defined. if (val.empty()) { return ret; }#endif ret = val; return ret; }
最终是创建一个上下文,传入appID:
common::ClientContext * osvr::client::createContext (const char appId[], const char host[]="localhost")
- osvr::clientkit::ClientContext
- OSVR简介
- OSVR-Vive
- SharePoint online ClientContext
- An Introduction to OSVR
- OSVR-Core编译
- OSVR接入HMD设备
- OSVR Reset Yaw
- VRPN-OSVR介绍
- SteamVR-OSVR(build 342)
- Using External VRPN Devices in OSVR
- 制作一个简单的OSVR设备插件
- 添加一个新的HMD到OSVR
- OSVR头部追踪数据格式及VRPN数据处理流程
- Delphi-IOCP 学习笔记<六>=====IO内存池和扩展套接字(ClientContext)
- OSVR HMD的Json描述符文件结构分析(V1)
- hibernate注解导入包的问题
- C++静态成员函数小结
- I'm bored with life
- mysql explain用法(调试优化用)
- #bzoj2933#【重庆市NOIP模拟赛】数据(DP线段树优化 or DP堆优化 + 证明)
- osvr::clientkit::ClientContext
- linux Nginx安装篇
- thread pool core thread number
- opencv中类型转换问题
- Vijos P1301 智力游戏
- Java_基础—readLine()和newLine()方法
- mysql存储过程插入40W条数据
- NYOJ 975 关于521
- servlet入门