interface.h

Go to the documentation of this file.
00001 
00003 /* FAU Discrete Event Systems Library (libfaudes)
00004 
00005    Copyright (C) 2008  Thomas Moor
00006    Exclusive copyright is granted to Klaus Schmidt
00007 
00008    This library is free software; you can redistribute it and/or
00009    modify it under the terms of the GNU Lesser General Public
00010    License as published by the Free Software Foundation; either
00011    version 2.1 of the License, or (at your option) any later version.
00012 
00013    This library is distributed in the hope that it will be useful,
00014    but WITHOUT ANY WARRANTY; without even the implied warranty of
00015    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00016    Lesser General Public License for more details.
00017 
00018    You should have received a copy of the GNU Lesser General Public
00019    License along with this library; if not, write to the Free Software
00020    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA */
00021 
00022 
00023 #ifndef FAUDES_INTERFACE_H
00024 #define FAUDES_INTERFACE_H
00025 
00026 #include "tokenreader.h"
00027 #include "tokenwriter.h"
00028 
00029 namespace faudes {
00030 
00042 class Type {
00043 
00044 public:
00045 
00047   Type(void);
00048 
00050   Type(const Type& rType);
00051 
00053   virtual ~Type();
00054 
00058   virtual void Clear(void);
00059 
00069   void Write(const Type* pContext=0) const;
00070 
00088   void Write(const std::string& pFileName, const std::string& rLabel="",
00089        const Type* pContext=0, std::ios::openmode openmode = std::ios::out|std::ios::trunc) const;
00090 
00104   void Write(const std::string& pFileName, std::ios::openmode openmode) const;
00105 
00121   void Write(TokenWriter& rTw, const std::string& rLabel="",const Type* pContext=0) const;
00122 
00137   std::string ToString(const std::string& rLabel="", const Type* pContext=0) const;
00138 
00148   void DWrite(const Type* pContext=0) const;
00149 
00167   void DWrite(const std::string& pFileName, const std::string& rLabel="",
00168        const Type* pContext=0, std::ios::openmode openmode = std::ios::out|std::ios::trunc) const;
00169 
00185   void DWrite(TokenWriter& rTw, const std::string& rLabel="",const Type* pContext=0) const;
00186 
00203   void Read(const std::string& rFileName, const std::string& rLabel = "", const Type* pContext=0);
00204 
00221   void Read(TokenReader& rTr, const std::string& rLabel = "", const Type* pContext=0);
00222 
00223 
00224 protected:
00225 
00242   virtual void DoRead(TokenReader& rTr,  const std::string& rLabel = "", const Type* pContext=0);
00243  
00260   virtual void DoWrite(TokenWriter& rTw, const std::string& rLabel="",const Type* pContext=0) const;
00261 
00278   virtual void DoDWrite(TokenWriter& rTw, const std::string& rLabel="",const Type* pContext=0) const;
00279 
00280 };
00281 
00282 
00288 class Operation {
00289  public:
00290   Operation(void);
00291   virtual ~Operation();
00292 };
00293 
00294 
00295 } // namespace
00296 
00297 #endif

Generated on Mon Nov 10 08:13:14 2008 for libFAUDES 2.11v by  doxygen 1.4.4