EvolvingObjects
|
00001 /* 00002 (c) Thales group, 2012 00003 00004 This library is free software; you can redistribute it and/or 00005 modify it under the terms of the GNU Lesser General Public 00006 License as published by the Free Software Foundation; 00007 version 2 of the License. 00008 00009 This library is distributed in the hope that it will be useful, 00010 but WITHOUT ANY WARRANTY; without even the implied warranty of 00011 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00012 Lesser General Public License for more details. 00013 00014 You should have received a copy of the GNU Lesser General Public 00015 License along with this library; if not, write to the Free Software 00016 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 00017 Contact: http://eodev.sourceforge.net 00018 00019 Authors: 00020 Benjamin Bouvier <benjamin.bouvier@gmail.com> 00021 */ 00022 # ifndef __EOSERIAL_SERIALIZABLE_H__ 00023 # define __EOSERIAL_SERIALIZABLE_H__ 00024 00025 namespace eoserial 00026 { 00027 class Object; // to avoid recursive inclusion with JsonObject 00028 00035 class Printable 00036 { 00037 public: 00042 virtual eoserial::Object* pack() const = 0; 00043 }; 00044 00053 class Persistent : public Printable 00054 { 00055 public: 00061 virtual void unpack(const eoserial::Object* json) = 0; 00062 }; 00063 00064 } // namespace eoserial 00065 00066 # endif // __EOSERIAL_SERIALIZABLE_H__