FBXML.hpp

00001 
00002 //
00003 // $Id: FBXML.hpp,v 1.2 2005/01/31 11:28:52 werner Exp $
00004 //
00005 // $Log: FBXML.hpp,v $
00006 // Revision 1.2  2005/01/31 11:28:52  werner
00007 // Adjustments for Windows, VC 6.0
00008 //
00009 // Revision 1.1  2004/08/12 16:00:32  werner
00010 // Fiber Bundle XML Layer
00011 //
00012 //
00014 #ifndef __FIBER_XMLBUNDLE_HPP
00015 #define __FIBER_XMLBUNDLE_HPP "Created 27.02.2001 21:42:27 by werner"
00016 
00017 #include "FBXMLAPI.h"
00018 #include "init.hpp"
00019 #include <bundle/Bundle.hpp>
00020 #include <memcore/Persistencer.hpp>
00021 
00022 #include "XMLSaver.hpp"
00023 #include "XMLMemArray.hpp"
00024 
00025 namespace Fiber
00026 {
00027         using std::list;
00028         using std::string;
00029         using namespace MemCore;
00030 
00031 template <>
00032 class   XMLBUNDLE_API XMLSaver<Bundle> : public Interface<XML>
00033 {
00034 public:
00035         void save(const Bundle&B, const char*filename);
00036 
00037         bool apply_const(const Intercube&I, const RefPtr<InterfaceIterationParameter>&);
00038 };
00039 
00040 template <>
00041 class   XMLBUNDLE_API XMLSaverCreator<Bundle> : public SaveInterfaceCreator<Bundle>
00042 {
00043         override bool addSaveInterface(Bundle*B)
00044         {
00045                 B->addInterface( new XMLSaver<Bundle>() );
00046                 return false;
00047         }
00048 };
00049 
00050 template <>
00051 class   XMLBUNDLE_API XMLLoader<Bundle> : public Loader<Bundle>
00052 {
00053         override RefPtr<Bundle> load(const RefPtr<LoaderParameters>&LP, const RefPtr<Bundle>&)
00054         {
00055                 return NullPtr();
00056         }
00057 };
00058 
00059 } /* namespace Fiber */ 
00060 
00061 #endif /* __FIBER_XMLBUNDLE_HPP */
00062