1 /***************************************************************************
2 * Copyright (C) 2006 by Gerd v. Egidy *
5 * This library is free software; you can redistribute it and/or modify *
6 * it under the terms of the GNU Lesser General Public License version *
7 * 2.1 as published by the Free Software Foundation. *
9 * This library is distributed in the hope that it will be useful, *
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of *
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
12 * GNU Lesser General Public License for more details. *
14 * You should have received a copy of the GNU Lesser General Public *
15 * License along with this program; if not, write to the *
16 * Free Software Foundation, Inc., *
17 * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
18 ***************************************************************************/
19 #ifndef __LIBT2N_COMMAND
20 #define __LIBT2N_COMMAND
22 #include <boost/serialization/serialization.hpp>
23 #include <boost/serialization/export.hpp>
28 /** @brief base class for the results that are returned from commands.
33 friend class boost::serialization::access;
34 template<class Archive>
35 void serialize(Archive & ar, const unsigned int version)
43 //BOOST_IS_ABSTRACT(libt2n::result)
47 /** @brief a command that can be serialized. abstract.
52 friend class boost::serialization::access;
53 template<class Archive>
54 void serialize(Archive & ar, const unsigned int version)
58 /// this calls the wanted target function on the server
59 virtual result* operator()() = 0;
63 //BOOST_IS_ABSTRACT(libt2n::command)