Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Compound List | File List | Namespace Members | Compound Members | File Members

seDRMBase.h

Go to the documentation of this file.
00001 /*
00002  *  Copyright (c) 2003 Accent Geographic. All rights reserved.
00003  *  See the license file for licensing information.
00004  *  Created: Tue Jul 29 17:25:13 2003
00005  */
00006 

00008 

00010 
00011 // $Id: seDRMBase.h,v 1.8 2004/06/02 18:19:00 wmacchi Exp $
00012 
00013 #ifndef _seDRMBase_h
00014 #define _seDRMBase_h
00015 
00021 #include "seObject.h"
00022 #include "seHelperDRM.h"
00023 
00024 #include "drm.h"
00025 
00026 namespace sedris {
00027 
00029 #define DRMBASE_RET_FIELDS(_c, _f)  const SE_Fields *flds; \
00030                                     getFields(&flds); \
00031                                     return (flds->u._c._f)
00032 
00033 #define DRMBASE_ALLOC_FIELDS        SE_Fields *flds = getWritableFields();
00034 
00035 #define DRMBASE_SET_FIELDS(_c, _f, _v)  DRMBASE_ALLOC_FIELDS; \
00036                                         flds->u._c._f = _v
00037 
00038 #define DRMBASE_SET_FIELDS_S(_c, _f, _s, _v)    flds->u._c._f._s = _v
00039 
00040 #define DRMBASE_ACC_FIELDS(_c, _f)              flds->u._c._f
00041 
00042 
00072 class EXPORT_DLL seDRMBase : public seObject
00073 {
00074 public:
00075 
00077     seDRMBase() {}
00078 
00080     seDRMBase( const seObject &other )
00081     {
00082         other.cloneTo(*this);
00083     }
00084 
00085 protected:
00086 
00088     static void set_SE_Security_Constraints( SE_Security_Constraints &dest,
00089                         const SE_Security_Constraints &src );
00090 
00092     static void set_SE_Contact_Information( SE_Contact_Information &dest,
00093                         const SE_Contact_Information &src );
00094 
00096     static void set_SE_Text_Font( SE_Text_Font &dest,
00097                         const SE_Text_Font &src );
00098 
00100     static void set_EDCS_Attribute_Value( EDCS_Attribute_Value &dest,
00101                         const EDCS_Attribute_Value &src );
00102 
00104     static void set_SE_Single_Value( SE_Single_Value &dest,
00105                         const SE_Single_Value &src );
00106 
00108     static void set_SE_Single_Value( SE_Single_Value *&dest,
00109                         SE_Short_Integer_Positive &dest_count,
00110                         const SE_Single_Value *array,
00111                         SE_Short_Integer_Positive count );
00112 
00114     static void set_SE_Interval_Value( SE_Interval_Value *&dest,
00115                         SE_Short_Integer_Positive &dest_count,
00116                         const SE_Interval_Value *array,
00117                         SE_Short_Integer_Positive count );
00118 
00120     static void set_SE_String( SE_String *&dest,
00121                         SE_Short_Integer_Positive &dest_count,
00122                         const SE_String *array,
00123                         SE_Short_Integer_Positive count );
00124 
00126     static void set_SE_String( SE_String *&dest,
00127                         SE_Integer_Unsigned &dest_count,
00128                         const SE_String *array,
00129                         SE_Integer_Unsigned count );
00130 
00132     static void set_SE_Image_MIP_Extents( SE_Image_MIP_Extents *&dest,
00133                         SE_Short_Integer_Positive &dest_count,
00134                         const SE_Image_MIP_Extents *array,
00135                         SE_Short_Integer_Positive count );
00136 
00138     static void set_EDCS_Enumerant_Code( EDCS_Enumerant_Code *&dest,
00139                         SE_Short_Integer_Positive &dest_count,
00140                         const EDCS_Enumerant_Code *array,
00141                         SE_Short_Integer_Positive count );
00142 
00144     static void set_SE_Short_Integer( SE_Short_Integer *&dest,
00145                         SE_Short_Integer_Positive &des_count,
00146                         const SE_Short_Integer *array,
00147                         SE_Short_Integer_Positive count );
00148 };
00149 
00150 
00151 } // namespace sedris
00152 
00153 #endif // _seDRMBase_h

SEDRIS Transmittal Access C++ API 4.0.0 beta - 14 Jul 2004
Copyright © 2004 SEDRIS Docs by Doxygen 1.3.2