it_bus/reflect/built_in_type.h

00001 #ifndef _IT_REFLECT_BUILT_IN_TYPE_H_
00002 #define _IT_REFLECT_BUILT_IN_TYPE_H_
00003 
00004 // @Copyright 2004 IONA Technologies, Plc. All Rights Reserved.
00005 //
00006 #include <it_bus/reflect/simple_type.h>
00007 
00008 namespace IT_Reflect
00009 {
00013     class IT_AFC_API BuiltInType : public virtual IT_Reflect::SimpleType
00014     {
00015       public:
00021         enum ValueKind
00022         {
00023             BOOLEAN,
00024             FLOAT,
00025             DOUBLE,
00026             INT,
00027             LONG,
00028             SHORT,
00029             UINT,
00030             ULONG,
00031             USHORT,
00032             BYTE,
00033             UBYTE,
00034             DATETIME,
00035             STRING,
00036             DECIMAL,
00037             HEXBINARY,
00038             BASE64BINARY,
00039             QNAME,
00040             DATE,
00041             TIME,
00042             GYEAR,
00043             GYMON,
00044             GMONTH,
00045             GMDAY,
00046             GDAY,
00047             DURATION,
00048             INTEGER,
00049             PINT,
00050             NPINT,
00051             NINT,
00052             NNINT,
00053             ANYURI,
00054             NSTRING,
00055             TOKEN,
00056             LANG,
00057             NAME,
00058             NCNAME,
00059             NMTOKEN,
00060             ID,
00061             ANY,
00062             ANY_LIST,
00063             ANY_HOLDER,
00064             REFERENCE
00065         };
00066 
00070         BuiltInType() throw(());
00071 
00075         virtual ~BuiltInType() throw(());
00076 
00082         virtual ValueKind
00083         get_value_kind() const throw((ReflectException)) = 0;
00084 
00089         virtual void
00090         duplicate(
00091             const IT_Reflect::BuiltInType* other
00092             ) throw((ReflectException)) = 0;
00093 
00094       private:
00095         // private and unimplemented to prevent copying
00096         BuiltInType(const BuiltInType&);
00097         void operator=(const BuiltInType&);
00098     };
00099 }
00100 
00101 
00102 #endif  

Generated on Tue Mar 20 15:27:42 2007 for Artix by  doxygen 1.5.1-p1