csutil/cseventflattener.h
Go to the documentation of this file.00001 /* 00002 Copyright (C) 2004 by Jorrit Tyberghein 00003 (C) 2004 by Jonathan Tarbox 00004 (C) 2004 by Frank Richter 00005 00006 This library is free software; you can redistribute it and/or 00007 modify it under the terms of the GNU Library General Public 00008 License as published by the Free Software Foundation; either 00009 version 2 of the License, or (at your option) any later version. 00010 00011 This library is distributed in the hope that it will be useful, 00012 but WITHOUT ANY WARRANTY; without even the implied warranty of 00013 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00014 Library General Public License for more details. 00015 00016 You should have received a copy of the GNU Library General Public 00017 License along with this library; if not, write to the Free 00018 Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 00019 */ 00020 00021 #ifndef __CS_CSUTIL_CSEVENTFLATTENER_H__ 00022 #define __CS_CSUTIL_CSEVENTFLATTENER_H__ 00023 00024 #include "csextern.h" 00025 00030 struct iEvent; 00031 00035 enum csEventFlattenerError 00036 { 00038 csEventFlattenerErrorNone, 00042 csEventFlattenerErroriBaseEncountered, 00044 csEventFlattenerErrorAttributeRetrieval, 00046 csEventFlattenerErrorWrongFormat 00047 }; 00048 00054 class CS_CRYSTALSPACE_EXPORT csEventFlattener 00055 { 00056 public: 00058 static csEventFlattenerError FlattenSize (iObjectRegistry*, iEvent* event, 00059 size_t& size); 00065 static csEventFlattenerError Flatten (iObjectRegistry*, iEvent* event, 00066 char *buffer); 00068 static csEventFlattenerError Unflatten (iObjectRegistry*, iEvent* event, 00069 const char *buffer, size_t length); 00070 }; 00071 00072 #endif // __CS_CSUTIL_CSEVENTFLATTENER_H__
Generated for Crystal Space by doxygen 1.4.7