00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00028 #ifndef _RTXCPPDYNOCTSTR_H_
00029 #define _RTXCPPDYNOCTSTR_H_
00030
00031 #include "rtxsrc/rtxCommon.h"
00032 #include "rtxsrc/OSRTBaseType.h"
00033
00038 class EXTRTCLASS OSDynOctStrClass : public OSRTBaseType {
00039 protected:
00040 OSUINT32 numocts;
00041 OSOCTET* data;
00042
00043 public:
00047 OSDynOctStrClass();
00048
00056 OSDynOctStrClass (OSUINT32 numocts_, const OSOCTET* data_);
00057
00064 OSDynOctStrClass (OSDynOctStr& os);
00065
00072 OSDynOctStrClass (const OSDynOctStrClass& os);
00073
00077 virtual ~OSDynOctStrClass();
00078
00083 OSRTBaseType* clone () const { return new OSDynOctStrClass (*this); }
00084
00093 void copyValue (OSUINT32 numocts_, const OSOCTET* data_);
00094
00098 inline const OSOCTET* getValue () const {
00099 return data;
00100 }
00101
00105 inline size_t getLength () const {
00106 return numocts;
00107 }
00108
00112 inline size_t length () const {
00113 return numocts;
00114 }
00115
00124 void setValue (OSUINT32 numocts_, const OSOCTET* data_);
00125
00136 int setValue (const char* hexstr, size_t nchars = 0);
00137
00148 int setValueFromBase64 (const char* base64str, size_t nchars = 0);
00149
00153 OSDynOctStrClass& operator= (const OSDynOctStrClass& original);
00154 } ;
00155
00156 #endif