GridLab
Grid Application Toolkit

A simple API for Grid Applications
GAT

Menu



Main Page   Alphabetical List   Compound List   File List   Compound Members   File Members  

GATInterfaceMap.h

Go to the documentation of this file.
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_ */