00001 #ifndef IOKERNEL__I_INTEGER_META_CLASS 00002 #define IOKERNEL__I_INTEGER_META_CLASS 00003 00004 #include "meta_class.h" 00005 #include "iokernel_forwarders.h" 00006 00007 // The current implementation 00008 // builds an i_integer 00009 class IIntegerMetaClass : public MetaClass { 00010 friend class ObjectFactory; 00011 public: 00012 virtual void write( const ObjectWrapper &obj, 00013 OutputStream* outputStream ) const; 00014 00015 virtual void read ( const ObjectWrapper &obj, 00016 InputStream* inputStream ) const; 00017 00018 virtual void destruct( const ObjectWrapper &obj, 00019 bool called_from_destructor ) const; 00020 00021 Walker::ApplyStatus walk(const Address address,Walker &walk) const; 00022 00023 static const LString &get_class_name(); 00024 00025 protected: 00026 IIntegerMetaClass( LString metaClassName = emptyLString ); 00027 00028 static void constructor_function( Address place ); 00029 }; 00030 00031 #endif