00001 /** @file GATInterfaceMap.h 00002 * Header file for the GATInterfaceMap class. 00003 * 00004 * @date Wed Oct 29 2003 00005 * 00006 * @version $Header: /export/cvs-gridlab/wp-1/Codes/GATEngine/C-reference/src/GATInterfaceMap.h,v 1.15 2004/03/24 19:30:58 hartmutkaiser Exp $ 00007 * 00008 * Copyright (C) Hartmut Kaiser 00009 * This file is part of the GAT Engine. 00010 * Contributed by Hartmut Kaiser <hartmutkaiser [at] t-online [dot] de>. 00011 * 00012 * Use, modification and distribution is subject to the Gridlab Software 00013 * License. (See accompanying file GLlicense.txt or copy at 00014 * http://www.gridlab.org/GLlicense.txt) 00015 */ 00016 00017 #ifndef _GATINTERFACEMAP_H_ 00018 #define _GATINTERFACEMAP_H_ 1 00019 00020 #include "GATType.h" 00021 00022 #ifdef __cplusplus 00023 extern "C" { 00024 #endif 00025 00026 /* The functions which registers/unregisters all serialisation vtables */ 00027 GATResult 00028 GATObject_Register_GATSerialisables(void); 00029 GATResult 00030 GATObject_Unregister_GATSerialisables(void); 00031 00032 /* The function to call to register a serialisation vtable */ 00033 GATResult 00034 GATObject_Register_GATSerialisable(GATType type, void *serialize); 00035 00036 /* The function, which returns a registered serialisable vtable */ 00037 GATResult 00038 GATObject_Get_GATSerialisable(GATType type, 00039 struct GATObject_ISerialisable_vtable_S **vtable); 00040 00041 /* all the different object specific functions, which are called once at 00042 startup time, to allow the object to register its vtable */ 00043 GATResult GATEndpoint_Register_GATSerialisable(void); 00044 GATResult GATFile_Register_GATSerialisable(void); 00045 GATResult GATList_Register_GATSerialisable(void); 00046 GATResult GATLogicalFile_Register_GATSerialisable(void); 00047 GATResult GATLocation_Register_GATSerialisable(void); 00048 GATResult GATResource_Register_GATSerialisable(void); 00049 GATResult GATString_Register_GATSerialisable(void); 00050 GATResult GATTable_Register_GATSerialisable(void); 00051 GATResult GATResourceDescription_Register_GATSerialisable(void); 00052 GATResult GATSoftwareDescription_Register_GATSerialisable(void); 00053 GATResult GATJob_Register_GATSerialisable(void); 00054 GATResult GATJobDescription_Register_GATSerialisable(void); 00055 GATResult GATStatus_Register_GATSerialisable(void); 00056 GATResult GATTime_Register_GATSerialisable(void); 00057 GATResult GATTimePeriod_Register_GATSerialisable(void); 00058 00059 /* TODO: Add the prototypes of the registration functions for all other 00060 GATObject's */ 00061 00062 #ifdef __cplusplus 00063 } 00064 #endif 00065 00066 #endif /* _GATINTERFACEMAP_H_ */