it_bus/nmtokens.h

00001 #ifndef _IT_BUS_NMTOKENS_H_
00002 #define _IT_BUS_NMTOKENS_H_
00003 
00004 // @Copyright 2004 IONA Technologies, Plc. All Rights Reserved.
00005 //
00006 
00007 #include <it_cal/types.h>
00008 #include <it_bus/exception.h>
00009 #include <it_bus/api_defines.h>
00010 #include <it_bus/simpletype_list_t.h>
00011 #include <it_bus/nmtoken.h>
00012 
00013 namespace IT_Reflect 
00014 {
00015     class Reflection;
00016 }
00017 
00018 namespace IT_Bus
00019 {
00020     class IT_AFC_API NMTokens : public SimpleTypeListT<NMToken>
00021     {
00022       public:
00023         typedef SimpleTypeListT<NMToken>::IT_ReflectionType IT_ReflectionType;
00024 
00025         NMTokens(
00026             size_t list_size = 0
00027         ) IT_THROW_DECL(());
00028 
00029         NMTokens(
00030             const NMToken& value,
00031             size_t list_size = 0
00032         ) IT_THROW_DECL(());
00033 
00034         NMTokens(
00035             const NMTokens& copy
00036         ) IT_THROW_DECL(());
00037 
00038         NMTokens(
00039             const IT_Vector<NMToken>& copy
00040         ) IT_THROW_DECL(());
00041 
00042         NMTokens&
00043         operator=(
00044             const NMTokens& rhs
00045         ) IT_THROW_DECL(());
00046 
00047         NMTokens&
00048         operator=(
00049             const IT_Vector<NMToken>& rhs
00050         ) IT_THROW_DECL(());
00051 
00052         // Implementation of methods from AnyType.
00053         //
00054         virtual AnyType&
00055         copy(
00056             const AnyType& copy
00057         );
00058 
00059         virtual const QName&
00060         get_type() const;
00061 
00062         virtual IT_Reflect::Reflection*
00063         get_reflection(
00064         ) IT_THROW_DECL((IT_Reflect::ReflectException));
00065         
00066         virtual const IT_Reflect::Reflection*
00067         get_reflection(
00068         ) const IT_THROW_DECL((IT_Reflect::ReflectException));
00069 
00070         virtual void
00071         read(
00072             const QName& name,
00073             ComplexTypeReader& reader
00074         ) IT_THROW_DECL((IT_Bus::DeserializationException));
00075 
00076         virtual void
00077         write(
00078             const QName& name,
00079             ComplexTypeWriter& writer
00080         ) const IT_THROW_DECL((IT_Bus::SerializationException));
00081 
00082         // Used by SchemaTypeTraits.
00083         //
00084         static const QName&
00085         get_static_type();
00086     };
00087 
00088     inline bool
00089     operator==(
00090         const NMTokens& val1,
00091         const NMTokens& val2
00092     ) IT_THROW_DECL(())
00093     {
00094         // Call IT_Vector<NMToken>::operator==().
00095         //
00096         return
00097             ::operator==(
00098                 IT_DYNAMIC_CAST(const IT_Vector<NMToken>&, val1),
00099                 IT_DYNAMIC_CAST(const IT_Vector<NMToken>&, val2)
00100             );
00101     }
00102 
00103     inline bool
00104     operator!=(
00105         const NMTokens& val1,
00106         const NMTokens& val2
00107     ) IT_THROW_DECL(())
00108     {
00109         return !operator==(val1, val2);
00110     }
00111 }
00112 
00113 #endif /*_IT_BUS_NMTOKEN_H_*/

Generated on Thu Sep 7 11:38:58 2006 for Artix by  doxygen 1.4.7