|
libt2n 0.6
|
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
1.7.4