BALL  1.4.1
objectCreator.h
Go to the documentation of this file.
00001 // -*- Mode: C++; tab-width: 2; -*-
00002 // vi: set ts=2:
00003 //
00004 
00005 #ifndef BALL_CONCEPT_OBJECTCREATOR_H
00006 #define BALL_CONCEPT_OBJECTCREATOR_H
00007 
00008 #ifndef BALL_CONCEPT_COMPOSITE_H
00009 # include <BALL/CONCEPT/composite.h>
00010 #endif
00011 
00012 #ifndef BALL_CONCEPT_PERSISTENTOBJECT_H       
00013 # include <BALL/CONCEPT/persistentObject.h>
00014 #endif
00015 
00016 #ifndef BALL_CONCET_TEXTPERSISTENCEMANAGER_H
00017 # include <BALL/CONCEPT/textPersistenceManager.h>
00018 #endif
00019 
00020 #ifdef BALL_HAS_ASIO
00021 #ifndef BALL_SYSTEM_NETWORKING_H
00022 # include <BALL/SYSTEM/networking.h>
00023 #endif
00024 #endif
00025 
00026 #include <vector>
00027 
00028 namespace BALL
00029 {
00037   class BALL_EXPORT ObjectCreator
00038   {
00039     public:
00040 
00044 
00052     ObjectCreator()
00053       ;
00054 
00056 
00059 
00062     virtual ~ObjectCreator()
00063       ;
00064 
00068     virtual void clear()
00069       ;
00070 
00072 
00075 
00084     virtual void initPersistenceManager(TextPersistenceManager &pm)
00085       ;
00086 
00095     virtual Composite *convertObject(PersistentObject &po)
00096       ;
00097             
00099 
00102 
00103 #ifdef BALL_HAS_ASIO
00104 
00116     Composite *operator() (TCPIOStream &tcp_iostream)
00117       ;
00118 #endif
00119 
00121 
00122     private:
00123     
00124     bool init_;
00125     TextPersistenceManager pm_;
00126   };
00127   
00128 }// namespace BALL
00129 
00130 #endif // BALL_CONCEPT_OBJECTCREATOR_H
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines