rtxCppDynOctStr.h

Go to the documentation of this file.
00001 /*
00002  * Copyright (c) 2003-2008 Objective Systems, Inc.
00003  *
00004  * This software is furnished under a license and may be used and copied
00005  * only in accordance with the terms of such license and with the
00006  * inclusion of the above copyright notice. This software or any other
00007  * copies thereof may not be provided or otherwise made available to any
00008  * other person. No title to and ownership of the software is hereby
00009  * transferred.
00010  *
00011  * The information in this software is subject to change without notice
00012  * and should not be construed as a commitment by Objective Systems, Inc.
00013  *
00014  * PROPRIETARY NOTICE
00015  *
00016  * This software is an unpublished work subject to a confidentiality agreement
00017  * and is protected by copyright and trade secret law.  Unauthorized copying,
00018  * redistribution or other use of this work is prohibited.
00019  *
00020  * The above notice of copyright on this source code product does not indicate
00021  * any actual or intended publication of such source code.
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