GridLab
Grid Application Toolkit

A simple API for Grid Applications
GAT

Menu



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

GATLogicalFileCPI.h File Reference

Header file for the GATLogicalFileCPI class. More...

#include "GATContext.h"
#include "GATPreferences.h"
#include "GATLogicalFile.h"
#include "GATMonitorable.h"

Include dependency graph for GATLogicalFileCPI.h:

Include dependency graph

This graph shows which files directly or indirectly include this file:

Included by dependency graph

Go to the source code of this file.

Compounds

struct  GATLogicalFileCPI_Instance
 The #GATLogicalFileCPI_Instance structure holds all data items supplied by the client during the construction of the GATLogicalFile object. More...

struct  GATLogicalFileCPI_Data

Defines

#define _GATLOGICALFILECPI_H_
#define GATLOGICALFILECPI_VERSION1   1
#define GATLOGICALFILECPI_VERSION   GATLOGICALFILECPI_VERSION1

Typedefs

typedef GATLogicalFileCPI_SGATLogicalFileCPI
typedef GATLogicalFileCPI_S
const * 
GATLogicalFileCPI_const
typedef void(* GATLogicalFileCPI_Adaptor_Destroy )(void *)
typedef GATResult(* GATLogicaFileCPI_Adaptor_ServiceActions )(void *, GATLogicalFileCPI_Instance *, GATTimePeriod_const)
typedef void(* GATLogicalFileCPI_Adaptor_DestroyInstance )(void *, GATLogicalFileCPI_Instance *)
typedef GATResult(* GATLogicalFileCPI_Adaptor_CreateInstance )(void *, GATLogicalFileCPI_Instance *)
typedef GATResult(* GATLogicalFileCPI_Adaptor_CloneInstance )(void *, GATLogicalFileCPI_Instance const *, GATLogicalFileCPI_Instance *)
typedef GATResult(* GATLogicalFileCPI_Adaptor_EqualsInstance )(void *, GATLogicalFileCPI_Instance const *, GATLogicalFileCPI_Instance const *, GATBool *)
typedef GATResult(* GATLogicalFileCPI_Adaptor_Serialise )(void *, GATLogicalFileCPI_Instance const *, GATObject, GATBool)
typedef GATResult(* GATLogicalFileCPI_Adaptor_DeSerialise )(void *, GATObject, GATLogicalFileCPI_Instance *)
typedef GATResult(* GATLogicalFileCPI_Adaptor_Add )(void *, GATLogicalFileCPI_Instance *, GATFile_const)
typedef GATResult(* GATLogicalFileCPI_Adaptor_RemoveFile )(void *, GATLogicalFileCPI_Instance *, GATFile_const)
typedef GATResult(* GATLogicalFileCPI_Adaptor_Replicate )(void *, GATLogicalFileCPI_Instance const *, GATLocation_const)
typedef GATResult(* GATLogicalFileCPI_Adaptor_GetFiles )(void *, GATLogicalFileCPI_Instance const *, GATList_GATFile *)
typedef GATResult(* GATLogicalFileCPI_Adaptor_Remove )(void *, GATLogicalFileCPI_Instance const *)
typedef GATResult(* GATLogicalFileCPI_Adaptor_GetMetrics )(void *, GATLogicalFileCPI_Instance const *, GATList_GATMetric *)
typedef GATResult(* GATLogicalFileCPI_Adaptor_GetMetricEvent )(void *, GATLogicalFileCPI_Instance const *, GATMetric, GATMetricEvent *)

Functions

GATLogicalFileCPI GATLogicalFileCPI_Create (unsigned long version, GATLogicalFileCPI_Data *data)
 GATLogicalFileCPI_Create The GATLogicalFileCPI constructor.

void GATLogicalFileCPI_Destroy (GATLogicalFileCPI *cpi)
 GATLogicalFileCPI_Destroy The GATLogicalFileCPI destructor.

GATResult GATLogicalFileCPI_CreateInstance (GATLogicalFileCPI cpi, GATLogicalFileCPI_Instance *data)
 GATLogicalFileCPI_CreateInstance Create a new CPI object instance.

void GATLogicalFileCPI_DestroyInstance (GATLogicalFileCPI cpi, GATLogicalFileCPI_Instance *data)
 GATLogicalFileCPI_DestroyInstance Create a new CPI object instance.

GATResult GATLogicalFileCPI_CloneInstance (GATLogicalFileCPI cpi, GATLogicalFileCPI_Instance const *data, GATLogicalFileCPI_Instance *new_data)
 GATLogicalFileCPI_CloneInstance Clones a CPI object instance.

GATResult GATLogicalFileCPI_EqualsInstance (GATLogicalFileCPI cpi, GATLogicalFileCPI_Instance const *lhs, GATLogicalFileCPI_Instance const *rhs, GATBool *isequal)
 GATLogicalFileCPI_EqualsInstance Compares two CPI object instances.

GATResult GATLogicalFileCPI_Serialise (GATLogicalFileCPI cpi, GATLogicalFileCPI_Instance const *instance_data, GATObject stream, GATBool clear_dirty)
 GATLogicalFileCPI_Serialise Serialise the instance data.

GATResult GATLogicalFileCPI_DeSerialise (GATLogicalFileCPI cpi, GATObject stream, GATLogicalFileCPI_Instance *instance_data)
 GATLogicalFileCPI_DeSerialise De-serialise the instance data.

GATResult GATLogicalFileCPI_AddFile (GATLogicalFileCPI cpi, GATLogicalFileCPI_Instance *data, GATFile_const target)
 GATLogicalFileCPI_AddFile Add a physical file to the file collection of the logical file.

GATResult GATLogicalFileCPI_RemoveFile (GATLogicalFileCPI cpi, GATLogicalFileCPI_Instance *data, GATFile_const target)
 GATLogicalFileCPI_RemoveFile Remove a physical file from the file collection of the logical file.

GATResult GATLogicalFileCPI_Replicate (GATLogicalFileCPI_const cpi, GATLogicalFileCPI_Instance const *data, GATLocation_const target)
 GATLogicalFileCPI_Replicate Replicate the logical file store to a file.

GATResult GATLogicalFileCPI_GetFiles (GATLogicalFileCPI_const cpi, GATLogicalFileCPI_Instance const *data, GATList_GATFile *files)
 GATLogicalFileCPI_GetFiles Replicate the logical file store to a file.

GATResult GATLogicalFileCPI_Remove (GATLogicalFileCPI_const cpi, GATLogicalFileCPI_Instance const *data)
GATResult GATLogicalFileCPI_GetMetrics (GATLogicalFileCPI cpi, GATLogicalFileCPI_Instance const *data, GATList_GATMetric *metrics)
 GATLogicalFileCPI_GetMetrics.

GATResult GATLogicalFileCPI_GetMetricEvent (GATLogicalFileCPI cpi, GATLogicalFileCPI_Instance const *data, GATMetric metric, GATMetricEvent *event)
 GATLogicalFileCPI_GetMetricEvent.


Detailed Description

Header file for the GATLogicalFileCPI class.

A GATLogicalFileCPI encapsulates all the methods that a GATLogicalFile capability provider provides.

Date:
Thu Oct 16 2003
Version:
Header:
/export/cvs-gridlab/wp-1/Codes/GATEngine/C-reference/src/GATLogicalFileCPI.h,v 1.17 2004/03/24 19:30:58 hartmutkaiser Exp

Copyright (C) Hartmut Kaiser This file is part of the GAT Engine. Contributed by Hartmut Kaiser <hartmutkaiser [at] t-online [dot] de>.

Use, modification and distribution is subject to the Gridlab Software License. (See accompanying file GLlicense.txt or copy at http://www.gridlab.org/GLlicense.txt)

Definition in file GATLogicalFileCPI.h.


Define Documentation

#define _GATLOGICALFILECPI_H_
 

Definition at line 21 of file GATLogicalFileCPI.h.

#define GATLOGICALFILECPI_VERSION1   1
 

Definition at line 32 of file GATLogicalFileCPI.h.

#define GATLOGICALFILECPI_VERSION   GATLOGICALFILECPI_VERSION1
 

Definition at line 35 of file GATLogicalFileCPI.h.

Referenced by GATLogicalFileCPI_Create(), and logicalfile_adaptor_register().


Typedef Documentation

typedef struct GATLogicalFileCPI_S* GATLogicalFileCPI
 

Definition at line 23 of file GATLogicalFileCPI.h.

typedef struct GATLogicalFileCPI_S const* GATLogicalFileCPI_const
 

Definition at line 24 of file GATLogicalFileCPI.h.

Referenced by GATLogicalFileCPI_GetFiles(), GATLogicalFileCPI_Remove(), and GATLogicalFileCPI_Replicate().

typedef void(* GATLogicalFileCPI_Adaptor_Destroy)(void *)
 

Definition at line 55 of file GATLogicalFileCPI.h.

typedef GATResult(* GATLogicaFileCPI_Adaptor_ServiceActions)(void *, GATLogicalFileCPI_Instance *, GATTimePeriod_const)
 

Definition at line 57 of file GATLogicalFileCPI.h.

typedef void(* GATLogicalFileCPI_Adaptor_DestroyInstance)(void *, GATLogicalFileCPI_Instance *)
 

Definition at line 61 of file GATLogicalFileCPI.h.

typedef GATResult(* GATLogicalFileCPI_Adaptor_CreateInstance)(void *, GATLogicalFileCPI_Instance *)
 

Definition at line 64 of file GATLogicalFileCPI.h.

typedef GATResult(* GATLogicalFileCPI_Adaptor_CloneInstance)(void *, GATLogicalFileCPI_Instance const *, GATLogicalFileCPI_Instance *)
 

Definition at line 67 of file GATLogicalFileCPI.h.

typedef GATResult(* GATLogicalFileCPI_Adaptor_EqualsInstance)(void *, GATLogicalFileCPI_Instance const *, GATLogicalFileCPI_Instance const *, GATBool *)
 

Definition at line 70 of file GATLogicalFileCPI.h.

typedef GATResult(* GATLogicalFileCPI_Adaptor_Serialise)(void *, GATLogicalFileCPI_Instance const *, GATObject, GATBool)
 

Definition at line 75 of file GATLogicalFileCPI.h.

typedef GATResult(* GATLogicalFileCPI_Adaptor_DeSerialise)(void *, GATObject, GATLogicalFileCPI_Instance *)
 

Definition at line 78 of file GATLogicalFileCPI.h.

typedef GATResult(* GATLogicalFileCPI_Adaptor_Add)(void *, GATLogicalFileCPI_Instance *, GATFile_const)
 

Definition at line 82 of file GATLogicalFileCPI.h.

typedef GATResult(* GATLogicalFileCPI_Adaptor_RemoveFile)(void *, GATLogicalFileCPI_Instance *, GATFile_const)
 

Definition at line 85 of file GATLogicalFileCPI.h.

typedef GATResult(* GATLogicalFileCPI_Adaptor_Replicate)(void *, GATLogicalFileCPI_Instance const *, GATLocation_const)
 

Definition at line 88 of file GATLogicalFileCPI.h.

typedef GATResult(* GATLogicalFileCPI_Adaptor_GetFiles)(void *, GATLogicalFileCPI_Instance const *, GATList_GATFile *)
 

Definition at line 91 of file GATLogicalFileCPI.h.

typedef GATResult(* GATLogicalFileCPI_Adaptor_Remove)(void *, GATLogicalFileCPI_Instance const *)
 

Definition at line 94 of file GATLogicalFileCPI.h.

typedef GATResult(* GATLogicalFileCPI_Adaptor_GetMetrics)(void *, GATLogicalFileCPI_Instance const *, GATList_GATMetric *)
 

Definition at line 99 of file GATLogicalFileCPI.h.

typedef GATResult(* GATLogicalFileCPI_Adaptor_GetMetricEvent)(void *, GATLogicalFileCPI_Instance const *, GATMetric, GATMetricEvent *)
 

Definition at line 102 of file GATLogicalFileCPI.h.


Function Documentation

GATLogicalFileCPI GATLogicalFileCPI_Create unsigned long    version,
GATLogicalFileCPI_Data   data
 

GATLogicalFileCPI_Create The GATLogicalFileCPI constructor.

This is the constructor for GATLogicalFileCPI objects.

Parameters:
version  Version of the GATLogicalFileCPI_Data structure
data  Pointer to adaptor CPI instance data structure.
Returns:
A new GATLogicalFileCPI

Definition at line 78 of file GATLogicalFileCPI.c.

References GATLogicalFileCPI_Data::add, GATLogicalFileCPI_S::add, GATLogicalFileCPI_Data::clone_instance, GATLogicalFileCPI_S::clone_instance, cpi, GATLogicalFileCPI_Data::create_instance, GATLogicalFileCPI_S::create_instance, GATLogicalFileCPI_Data::data, GATLogicalFileCPI_S::data, data, GATLogicalFileCPI_Data::deserialise, GATLogicalFileCPI_S::deserialise, GATLogicalFileCPI_Data::destroy, GATLogicalFileCPI_S::destroy, GATLogicalFileCPI_Data::destroy_instance, GATLogicalFileCPI_S::destroy_instance, GATLogicalFileCPI_Data::equals_instance, GATLogicalFileCPI_S::equals_instance, GATLogicalFileCPI_IsValidData_V1(), GATLOGICALFILECPI_VERSION, GATTrue, GATLogicalFileCPI_Data::get_metric_event, GATLogicalFileCPI_S::get_metric_event, GATLogicalFileCPI_Data::get_metrics, GATLogicalFileCPI_S::get_metrics, GATLogicalFileCPI_Data::getfiles, GATLogicalFileCPI_S::getfiles, GATLogicalFileCPI_Data::remove, GATLogicalFileCPI_S::remove, GATLogicalFileCPI_Data::removefile, GATLogicalFileCPI_S::removefile, GATLogicalFileCPI_Data::replicate, GATLogicalFileCPI_S::replicate, GATLogicalFileCPI_Data::serialise, GATLogicalFileCPI_S::serialise, GATLogicalFileCPI_Data::service_actions, and GATLogicalFileCPI_S::service_actions.

Referenced by logicalfile_adaptor_register().

void GATLogicalFileCPI_Destroy GATLogicalFileCPI   cpi
 

GATLogicalFileCPI_Destroy The GATLogicalFileCPI destructor.

This is the destructor for GATLogicalFileCPI objects.

Parameters:
cpi  An old GATLogicalFileCPI

Definition at line 141 of file GATLogicalFileCPI.c.

References cpi.

Referenced by logicalfile_adaptor_register().

GATResult GATLogicalFileCPI_CreateInstance GATLogicalFileCPI    cpi,
GATLogicalFileCPI_Instance   data
 

GATLogicalFileCPI_CreateInstance Create a new CPI object instance.

Calls the adaptor to create a new CPI object instance.

Parameters:
this  The CPI object.
context  a GATContext
instance_data  The instance data of the attached CPI object
Returns:
An error code.

Definition at line 163 of file GATLogicalFileCPI.c.

References cpi, GATLogicalFileCPI_S::create_instance, GATLogicalFileCPI_S::data, and data.

Referenced by GATLogicalFile_Create().

void GATLogicalFileCPI_DestroyInstance GATLogicalFileCPI    cpi,
GATLogicalFileCPI_Instance   data
 

GATLogicalFileCPI_DestroyInstance Create a new CPI object instance.

Calls the adaptor to destroy a CPI object instance.

Parameters:
this  The CPI object.
instance_data  The instance data of the attached CPI object

Definition at line 178 of file GATLogicalFileCPI.c.

References cpi, GATLogicalFileCPI_S::data, data, and GATLogicalFileCPI_S::destroy_instance.

Referenced by GATLogicalFile_Destroy().

GATResult GATLogicalFileCPI_CloneInstance GATLogicalFileCPI    cpi,
GATLogicalFileCPI_Instance const *    data,
GATLogicalFileCPI_Instance   new_data
 

GATLogicalFileCPI_CloneInstance Clones a CPI object instance.

Calls the adaptor to clone a CPI object instance.

Parameters:
this  The CPI object.
instance_data  The instance data of the CPI object to clone.
rhs  The new instance data is to be returned here.
Returns:
An error code.

Definition at line 217 of file GATLogicalFileCPI.c.

References GATLogicalFileCPI_S::clone_instance, cpi, GATLogicalFileCPI_S::data, and data.

Referenced by GATLogicalFile_Clone().

GATResult GATLogicalFileCPI_EqualsInstance GATLogicalFileCPI    cpi,
GATLogicalFileCPI_Instance const *    lhs,
GATLogicalFileCPI_Instance const *    rhs,
GATBool   isequal
 

GATLogicalFileCPI_EqualsInstance Compares two CPI object instances.

Calls the adaptor to compare two CPI object instances.

Parameters:
this  The CPI object.
lhs  The instance data of the left CPI object
rhs  The instance data of the right CPI object
isequal  The pointer to the variable, where the result is to be returned to.
Returns:
An error code.

Definition at line 198 of file GATLogicalFileCPI.c.

References cpi, GATLogicalFileCPI_S::data, GATLogicalFileCPI_S::equals_instance, and GATBool.

Referenced by GATLogicalFile_Equals().

GATResult GATLogicalFileCPI_Serialise GATLogicalFileCPI    cpi,
GATLogicalFileCPI_Instance const *    data,
GATObject    stream,
GATBool    clear_dirty
 

GATLogicalFileCPI_Serialise Serialise the instance data.

Calls the adaptor to serialise the instance data.

Parameters:
this  The CPI object.
instance_data  The instance data of the attached CPI object
stream  The stream to use be used for serialisation.
clear_dirty  If the clear_dirty parameter is set to GATTrue, the internal dirty flag of this object is to be reset.
Returns:
An error code.

Definition at line 238 of file GATLogicalFileCPI.c.

References cpi, GATLogicalFileCPI_S::data, data, GATBool, and GATLogicalFileCPI_S::serialise.

Referenced by GATLogicalFileCPI_SerialiseCallback().

GATResult GATLogicalFileCPI_DeSerialise GATLogicalFileCPI    cpi,
GATObject    stream,
GATLogicalFileCPI_Instance   data
 

GATLogicalFileCPI_DeSerialise De-serialise the instance data.

Call the adaptor to de-serialise the instance data.

Parameters:
context  The GAT context to be used for object construction.
stream  The stream interface to use for the serialisation.
instance_data  The pointer to a variable, which contains the client data of the new object. The member instance data of this object may receive the pointer to the new instance data of the CPI object.
Returns:
An error code.

Definition at line 258 of file GATLogicalFileCPI.c.

References cpi, GATLogicalFileCPI_S::data, data, and GATLogicalFileCPI_S::deserialise.

Referenced by GATLogicalFile_DeSerialise_Create().

GATResult GATLogicalFileCPI_AddFile GATLogicalFileCPI    file,
GATLogicalFileCPI_Instance   data,
GATFile_const    target
 

GATLogicalFileCPI_AddFile Add a physical file to the file collection of the logical file.

Calls the adaptor to add a file to the logical file.

Parameters:
this  The CPI object.
context  a GATContext
name  The name of the logical file store
target  Source file to add
Returns:
An error code.

Definition at line 277 of file GATLogicalFileCPI.c.

References GATLogicalFileCPI_S::add, GATLogicalFileCPI_S::data, data, and GATFile_const.

Referenced by GATLogicalFile_AddFile().

GATResult GATLogicalFileCPI_RemoveFile GATLogicalFileCPI    file,
GATLogicalFileCPI_Instance   data,
GATFile_const    target
 

GATLogicalFileCPI_RemoveFile Remove a physical file from the file collection of the logical file.

Calls the adaptor to remove a file from the logical file.

Parameters:
this  The CPI object.
context  a GATContext
name  The name of the logical file store
target  Source file to remove
Returns:
An error code.

Definition at line 296 of file GATLogicalFileCPI.c.

References GATLogicalFileCPI_S::data, data, GATFile_const, and GATLogicalFileCPI_S::removefile.

Referenced by GATLogicalFile_RemoveFile().

GATResult GATLogicalFileCPI_Replicate GATLogicalFileCPI_const    file,
GATLogicalFileCPI_Instance const *    data,
GATLocation_const    target
 

GATLogicalFileCPI_Replicate Replicate the logical file store to a file.

Calls the adaptor to replicate the logical file to a file.

Parameters:
this  The CPI object.
context  a GATContext
name  The name of the logical file store
target  Target file to replicate the logical file store to
Returns:
An error code.

Definition at line 315 of file GATLogicalFileCPI.c.

References data, GATLocation_const, and GATLogicalFileCPI_const.

Referenced by GATLogicalFile_Replicate().

GATResult GATLogicalFileCPI_GetFiles GATLogicalFileCPI_const    file,
GATLogicalFileCPI_Instance const *    data,
GATList_GATFile *    files
 

GATLogicalFileCPI_GetFiles Replicate the logical file store to a file.

Calls the adaptor to replicate the logical file to a file.

Parameters:
this  The CPI object.
context  a GATContext
name  The name of the logical file store
files  The pointer to the location, where the list of files of this logical file store is to be returned to.
Returns:
An error code.

Definition at line 335 of file GATLogicalFileCPI.c.

References data, and GATLogicalFileCPI_const.

Referenced by GATLogicalFile_GetFiles().

GATResult GATLogicalFileCPI_Remove GATLogicalFileCPI_const    cpi,
GATLogicalFileCPI_Instance const *    data
 

Definition at line 342 of file GATLogicalFileCPI.c.

References data, and GATLogicalFileCPI_const.

Referenced by GATLogicalFile_Remove().

GATResult GATLogicalFileCPI_GetMetrics GATLogicalFileCPI    cpi,
GATLogicalFileCPI_Instance const *    data,
GATList_GATMetric *    metrics
 

GATLogicalFileCPI_GetMetrics.

The function GATLogicalFileCPI_GetMetrics returns the list of metrics supported by this adaptor.

Parameters:
this  The CPI object.
instance_data  The instance data of the attached CPI object
The  pointer to the variable, which receives the resulting list of metrics.
Returns:
An error code.

Definition at line 362 of file GATLogicalFileCPI.c.

References cpi, GATLogicalFileCPI_S::data, data, and GATLogicalFileCPI_S::get_metrics.

Referenced by GATLogicalFile_Create(), and GATLogicalFile_DeSerialise_Create().

GATResult GATLogicalFileCPI_GetMetricEvent GATLogicalFileCPI    cpi,
GATLogicalFileCPI_Instance const *    data,
GATMetric    metric,
GATMetricEvent   event
 

GATLogicalFileCPI_GetMetricEvent.

The function GATLogicalFileCPI_GetMetricEvent returns the metric event, which is associated with the given metric.

Parameters:
this  The CPI object.
instance_data  The instance data of the attached CPI object
metric  The continuous metric, for which the metric event is to be returned.
event  The pointer to the variable, which receives the resulting metric event.
Returns:
An error code.

Definition at line 383 of file GATLogicalFileCPI.c.

References cpi, GATLogicalFileCPI_S::data, data, GATMetric, and GATLogicalFileCPI_S::get_metric_event.

Referenced by GATLogicalFile_RegisterPolling().