libt2n 0.6
command.hxx
Go to the documentation of this file.
00001 /*
00002 Copyright (C) 2006 by Intra2net AG - Gerd v. Egidy
00003 
00004 The software in this package is distributed under the GNU General
00005 Public License version 2 (with a special exception described below).
00006 
00007 A copy of GNU General Public License (GPL) is included in this distribution,
00008 in the file COPYING.GPL.
00009 
00010 As a special exception, if other files instantiate templates or use macros
00011 or inline functions from this file, or you compile this file and link it
00012 with other works to produce a work based on this file, this file
00013 does not by itself cause the resulting work to be covered
00014 by the GNU General Public License.
00015 
00016 However the source code for this file must still be made available
00017 in accordance with section (3) of the GNU General Public License.
00018 
00019 This exception does not invalidate any other reasons why a work based
00020 on this file might be covered by the GNU General Public License.
00021 */
00022 #ifndef __LIBT2N_COMMAND
00023 #define __LIBT2N_COMMAND
00024 
00025 #include <iostream>
00026 
00027 #include <boost/serialization/serialization.hpp>
00028 #include <boost/serialization/tracking.hpp>
00029 
00030 namespace libt2n
00031 {
00032 
00035 class result
00036 {
00037     private:
00038         friend class boost::serialization::access;
00039         template<class Archive>
00040         void serialize(Archive & /* ar */, const unsigned int /* version */)
00041         { }
00042 
00043     public:
00044         result() {}
00045         virtual ~result() {}
00046 };
00047 }
00048 //BOOST_IS_ABSTRACT(libt2n::result)
00049 BOOST_CLASS_TRACKING(libt2n::result, boost::serialization::track_never)
00050 
00051 namespace libt2n
00052 {
00055 class command
00056 {
00057     private:
00058         friend class boost::serialization::access;
00059         template<class Archive>
00060         void serialize(Archive & /* ar */, const unsigned int /* version */)
00061         { }
00062 
00063     public:
00065         virtual result* operator()()=0;
00066         virtual ~command() {}
00067 };
00068 } // namespace libt2n
00069 //BOOST_IS_ABSTRACT(libt2n::command)
00070 BOOST_CLASS_TRACKING(libt2n::command, boost::serialization::track_never)
00071 
00072 
00073 #endif
00074 
© Intra2net AG 2014
Contact