Main Page   Namespace List   Class Hierarchy   Compound List   File List   Compound Members   File Members   Related Pages  

Marshaller.h

Go to the documentation of this file.
00001 //                              -*- Mode: C++ -*- 
00002 // Marshaller.h
00003 // Copyright © 2003 Laboratoire de Biologie Informatique et Théorique
00004 //                  Université de Montréal.
00005 // Author           : Martin Larose
00006 // Created On       : Fri Oct 10 12:01:35 2003
00007 // $Revision: 1.2 $
00008 // $Id: Marshaller.h,v 1.2 2003/11/10 22:58:26 larosem Exp $
00009 // 
00010 // This file is part of xmlcpg.
00011 //
00012 // xmlcpg is free software; you can redistribute it and/or modify it under
00013 // the terms of the GNU Lesser General Public License as published by the Free
00014 // Software Foundation; either version 2 of the License, or (at your option)
00015 // any later version.
00016 //
00017 // xmlcpg is distributed in the hope that it will be useful, but WITHOUT ANY
00018 // WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
00019 // FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public License for
00020 // more details.
00021 //
00022 // You should have received a copy of the GNU Lesser General Public License
00023 // along with xmlcpg; if not, write to the Free Software Foundation, Inc.,
00024 // 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
00025 
00026 
00027 #ifndef _rnaml_Marshaller_h_
00028 #define _rnaml_Marshaller_h_
00029 
00030 #include <cstdio>
00031 
00032 extern "C" {
00033 #include "marshaller.h"
00034 }
00035 
00036 
00037 
00038 namespace rnaml
00039 {
00040   class PrintStream;
00041   class Rnaml;
00042 
00043   
00044 
00045   class Marshaller
00046   {
00050     rnamlMarshaller *marshaller;
00051     
00052   public:
00053     
00054     // LIFECYCLE ------------------------------------------------------------
00055     
00059     Marshaller ();
00060     
00065     Marshaller (const Marshaller &right);
00066     
00071     Marshaller* clone () const { return new Marshaller (*this); }
00072     
00076     virtual ~Marshaller ();
00077 
00078     // OPERATORS ------------------------------------------------------------
00079     
00085     Marshaller& operator= (const Marshaller &right);
00086 
00092     bool operator== (const Marshaller &right) const;
00093     
00094     // ACCESS ---------------------------------------------------------------
00095 
00100     void setValidating (bool validating);
00101 
00106     void setFormatted (bool formatted);
00107 
00108     // METHODS --------------------------------------------------------------
00109     
00110     // I/O  -----------------------------------------------------------------
00111 
00117     void marshall (const Rnaml &rnaml, FILE *f) const;
00118 
00124     void marshall (const Rnaml &rnaml, PrintStream &ps) const;
00125 
00126   };
00127 }
00128 
00129 #endif

Generated on Tue Nov 11 14:59:39 2003 for xmlcpg by doxygen1.2.18