OpenRTM-aist  1.2.1
NVUtil.h
[詳解]
1 // -*- C++ -*-
20 #ifndef NVUTIL_NVUTIL_H
21 #define NVUTIL_NVUTIL_H
22 
23 #include <string>
24 #include <iostream>
25 #include <coil/Properties.h>
26 #include <rtm/idl/SDOPackageSkel.h>
27 
46 namespace NVUtil
47 {
78  template <class Value>
79  SDOPackage::NameValue newNV(const char* name, Value value)
80  {
81  SDOPackage::NameValue nv;
82  nv.name = CORBA::string_dup(name);
83  nv.value <<= value;
84  return nv;
85  }
86 
87  /***
88  * @if jp
89  *
90  * @brief value が CORBA::string の NameValue を生成する
91  *
92  * このオペレーションはf value が CORBA::string の NameValueを作成する。
93  *
94  * @param name NameValue の name
95  * @param value NameValue の value
96  *
97  * @return NameValue
98  *
99  * @else
100  *
101  * @brief Create NameValue typed CORBA::string
102  *
103  * This operation creates NameValue typed CORBA::string.
104  *
105  * @param name Name of NameValue
106  * @param value The value of NameValue
107  *
108  * @return NameValue
109  *
110  * @endif
111  */
112  /*
113  template <>
114  SDOPackage::NameValue newNV(const char* name, const char* value)
115  {
116  SDOPackage::NameValue nv;
117  nv.name = CORBA::string_dup(name);
118  nv.value <<= value;
119  return nv;
120  }
121  */
122 
148  SDOPackage::NameValue newNVChar(const char* name, const CORBA::Char value);
149 
175  SDOPackage::NameValue newNVBool(const char* name,
176  const CORBA::Boolean value);
177 
203  SDOPackage::NameValue newNVOctet(const char* name, const CORBA::Octet value);
204 
230  SDOPackage::NameValue newNVAny(const char* name, const CORBA::Any& value);
231 
255 #ifndef ORB_IS_RTORB
256  void copyFromProperties(SDOPackage::NVList& nv, const coil::Properties& prop);
257 #else // ORB_IS_RTORB
258  void copyFromProperties(SDOPackage_NVList& nv, const coil::Properties& prop);
259 #endif // ORB_IS_RTORB
260 
282  void copyToProperties(coil::Properties& prop, const SDOPackage::NVList& nv);
283 
307  coil::Properties toProperties(const SDOPackage::NVList& nv);
308 
336  const CORBA::Any& find(const SDOPackage::NVList& nv, const char* name);
337 
365  const CORBA::Long find_index(const SDOPackage::NVList& nv, const char* name);
366 
394  bool isString(const SDOPackage::NVList& nv, const char* name);
395 
427  bool isStringValue(const SDOPackage::NVList& nv, const char* name,
428  const char* value);
429 
459  std::string toString(const SDOPackage::NVList& nv, const char* name);
460 
503 #ifndef ORB_IS_RTORB
504  bool appendStringValue(SDOPackage::NVList& nv, const char* name,
505  const char* value);
506 #else // ORB_IS_RTORB
507  bool appendStringValue(SDOPackage_NVList& nv, const char* name,
508  const char* value);
509 #endif // ORB_IS_RTORB
510 
534  void append(SDOPackage::NVList& dest, const SDOPackage::NVList& src);
535 
559  std::ostream& dump_to_stream(std::ostream& out,
560  const SDOPackage::NameValue& nv);
561  std::ostream& operator<<(std::ostream& os, const SDOPackage::NameValue& nv);
562 
586  std::ostream& operator<<(std::ostream& os, const SDOPackage::NVList& nvlist);
587 
611  std::ostream& dump(std::ostream& out, const SDOPackage::NVList& nv);
612 
627  void dump(const SDOPackage::NVList& nv);
628 
642  std::string toString(const SDOPackage::NVList& nv);
643 
644 
645 };
646 #endif // NVUTIL_NVUTIL_H
SDOPackage::NameValue newNV(const char *name, Value value)
NameValue を生成する
Definition: NVUtil.h:79
std::ostream & operator<<(std::ostream &os, const SDOPackage::NameValue &nv)
bool isString(const SDOPackage::NVList &nv, const char *name)
指定された name の value の型が string であるか検証する
SDOPackage::NameValue newNVOctet(const char *name, const CORBA::Octet value)
value が CORBA::Octet の NameValue を生成する
bool appendStringValue(SDOPackage::NVList &nv, const char *name, const char *value)
指定された文字列を NVList の要素に追加する。
SDOPackage::NameValue newNVBool(const char *name, const CORBA::Boolean value)
value が CORBA::Boolean の NameValue を生成する
std::ostream & dump_to_stream(std::ostream &out, const SDOPackage::NameValue &nv)
NameValue に設定されている内容を文字列として出力する。
NameValue 用ユーティリティ
const CORBA::Any & find(const SDOPackage::NVList &nv, const char *name)
NVList から name で指定された value を返す
const CORBA::Long find_index(const SDOPackage::NVList &nv, const char *name)
name で指定された要素のインデックスを返す
void copyToProperties(coil::Properties &prop, const SDOPackage::NVList &nv)
NVList を Properties へコピーする
std::string toString(const SDOPackage::NVList &nv, const char *name)
指定された name の NVList を string として返す。
void append(SDOPackage::NVList &dest, const SDOPackage::NVList &src)
NVList に要素を追加する。
std::ostream & dump(std::ostream &out, const SDOPackage::NVList &nv)
NVList に設定されている内容を文字列として出力する。
coil::Properties toProperties(const SDOPackage::NVList &nv)
NVList を Properties へ変換する
プロパティセットを表現するクラス
Definition: Properties.h:101
SDOPackage::NameValue newNVChar(const char *name, const CORBA::Char value)
value が CORBA::Char の NameValue を生成する
Property list class (derived from Java Properties)
bool isStringValue(const SDOPackage::NVList &nv, const char *name, const char *value)
指定された name の value の値が指定した文字列と一致するか検証する
void copyFromProperties(SDOPackage::NVList &nv, const coil::Properties &prop)
Properties を NVList へコピーする
SDOPackage::NameValue newNVAny(const char *name, const CORBA::Any &value)
value が CORBA::Any の NameValue を生成する