GridLab
Grid Application Toolkit

A simple API for Grid Applications
GAT

Menu



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

GATResourceBrokerCPI.h File Reference

Header file for the GATResourceBrokerCPI class. More...

#include "GATContext.h"
#include "GATPreferences.h"
#include "GATResource.h"
#include "GATResourceDescription.h"
#include "GATReservation.h"
#include "GATTime.h"
#include "GATTimePeriod.h"
#include "GATJob.h"
#include "GATJobDescription.h"
#include "GATResourceBroker.h"

Include dependency graph for GATResourceBrokerCPI.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  GATResourceBrokerCPI_Instance
 The #GATResourceBrokerCPI_Instance structure holds all data items supplied by the client during the construction of the corresponding GAT object. More...

struct  GATResourceBrokerCPI_Data

Defines

#define _GATRESOURCEBROKERCPI_H_
#define GATRESOURCEBROKERCPI_VERSION1   1
#define GATRESOURCEBROKERCPI_VERSION   GATRESOURCEBROKERCPI_VERSION1

Typedefs

typedef GATResourceBrokerCPI_SGATResourceBrokerCPI
typedef void(* GATResourceBrokerCPI_Adaptor_Destroy )(void *)
typedef GATResult(* GATResourceBrokerCPI_Adaptor_ServiceActions )(void *, GATResourceBrokerCPI_Instance *, GATTimePeriod_const)
typedef void(* GATResourceBrokerCPI_Adaptor_DestroyInstance )(void *, GATResourceBrokerCPI_Instance *)
typedef GATResult(* GATResourceBrokerCPI_Adaptor_CreateInstance )(void *, GATResourceBrokerCPI_Instance *)
typedef GATResult(* GATResourceBrokerCPI_Adaptor_CloneInstance )(void *, GATResourceBrokerCPI_Instance const *, GATResourceBrokerCPI_Instance *)
typedef GATResult(* GATResourceBrokerCPI_Adaptor_EqualsInstance )(void *, GATResourceBrokerCPI_Instance const *, GATResourceBrokerCPI_Instance const *, GATBool *)
typedef GATResult(* GATResourceBrokerCPI_Adaptor_ReserveResource_Description )(void *, GATResourceBrokerCPI_Instance const *, GATResourceDescription_const, GATTime_const, GATTimePeriod_const, GATReservation *)
typedef GATResult(* GATResourceBrokerCPI_Adaptor_ReserveResource )(void *, GATResourceBrokerCPI_Instance const *, GATResource_const, GATTime_const, GATTimePeriod_const, GATReservation *)
typedef GATResult(* GATResourceBrokerCPI_Adaptor_FindResources )(void *, GATResourceBrokerCPI_Instance const *, GATResourceDescription_const, GATList_GATResource *)
typedef GATResult(* GATResourceBrokerCPI_Adaptor_SubmitJob )(void *, GATResourceBrokerCPI_Instance const *, GATJobDescription_const, GATJob *)

Functions

GATResourceBrokerCPI GATResourceBrokerCPI_Create (unsigned long int version, GATResourceBrokerCPI_Data *data)
 GATResourceBrokerCPI_Create The GATResourceBrokerCPI constructor.

void GATResourceBrokerCPI_Destroy (GATResourceBrokerCPI *cpi)
 GATResourceBrokerCPI_Destroy The GATResourceBrokerCPI destructor.

GATResult GATResourceBrokerCPI_CreateInstance (GATResourceBrokerCPI cpi, GATResourceBrokerCPI_Instance *instance_data)
 GATResourceBrokerCPI_CreateInstance Create a new CPI object instance.

void GATResourceBrokerCPI_DestroyInstance (GATResourceBrokerCPI cpi, GATResourceBrokerCPI_Instance *instance_data)
 GATResourceBrokerCPI_DestroyInstance Create a new CPI object instance.

GATResult GATResourceBrokerCPI_CloneInstance (GATResourceBrokerCPI cpi, GATResourceBrokerCPI_Instance const *instance_data, GATResourceBrokerCPI_Instance *new_instance_data)
 GATResourceBrokerCPI_CloneInstance Clones a CPI object instance.

GATResult GATResourceBrokerCPI_EqualsInstance (GATResourceBrokerCPI cpi, GATResourceBrokerCPI_Instance const *lhs, GATResourceBrokerCPI_Instance const *rhs, GATBool *isequal)
 GATResourceBrokerCPI_EqualsInstance Compares two CPI object instances.

GATResult GATResourceBrokerCPI_ReserveResource_Description (GATResourceBrokerCPI broker, GATResourceBrokerCPI_Instance const *instance_data, GATResourceDescription_const description, GATTime_const zeit, GATTimePeriod_const duration, GATReservation *reservation)
 GATResourceBrokerCPI_ReserveResource_Description Reserve a resource, which mets the description.

GATResult GATResourceBrokerCPI_ReserveResource (GATResourceBrokerCPI broker, GATResourceBrokerCPI_Instance const *instance_data, GATResource_const resource, GATTime_const zeit, GATTimePeriod_const duration, GATReservation *reservation)
 GATResourceBrokerCPI_ReserveResource Reserve a given resource.

GATResult GATResourceBrokerCPI_FindResources (GATResourceBrokerCPI broker, GATResourceBrokerCPI_Instance const *instance_data, GATResourceDescription_const description, GATList_GATResource *resources)
 GATResourceBrokerCPI_FindResources Find a list of matching resources.

GATResult GATResourceBrokerCPI_SubmitJob (GATResourceBrokerCPI broker, GATResourceBrokerCPI_Instance const *instance_data, GATJobDescription_const description, GATJob *job)
 GATResourceBrokerCPI_SubmitJob Submit a new job.


Detailed Description

Header file for the GATResourceBrokerCPI class.

A GATResourcebrokerCPI encapsulates all the methods that a GATResourceBroker capability provider provides.

Date:
Thu Oct 23 2003
Version:
Header:
/export/cvs-gridlab/wp-1/Codes/GATEngine/C-reference/src/GATResourceBrokerCPI.h,v 1.11 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 GATResourceBrokerCPI.h.


Define Documentation

#define _GATRESOURCEBROKERCPI_H_
 

Definition at line 21 of file GATResourceBrokerCPI.h.

#define GATRESOURCEBROKERCPI_VERSION1   1
 

Definition at line 37 of file GATResourceBrokerCPI.h.

#define GATRESOURCEBROKERCPI_VERSION   GATRESOURCEBROKERCPI_VERSION1
 

Definition at line 40 of file GATResourceBrokerCPI.h.

Referenced by GATResourceBrokerCPI_Create(), and resourcebroker_adaptor_Register_GATResourceBrokerCPI().


Typedef Documentation

typedef struct GATResourceBrokerCPI_S* GATResourceBrokerCPI
 

Definition at line 23 of file GATResourceBrokerCPI.h.

typedef void(* GATResourceBrokerCPI_Adaptor_Destroy)(void *)
 

Definition at line 56 of file GATResourceBrokerCPI.h.

typedef GATResult(* GATResourceBrokerCPI_Adaptor_ServiceActions)(void *, GATResourceBrokerCPI_Instance *, GATTimePeriod_const)
 

Definition at line 58 of file GATResourceBrokerCPI.h.

typedef void(* GATResourceBrokerCPI_Adaptor_DestroyInstance)(void *, GATResourceBrokerCPI_Instance *)
 

Definition at line 62 of file GATResourceBrokerCPI.h.

typedef GATResult(* GATResourceBrokerCPI_Adaptor_CreateInstance)(void *, GATResourceBrokerCPI_Instance *)
 

Definition at line 65 of file GATResourceBrokerCPI.h.

typedef GATResult(* GATResourceBrokerCPI_Adaptor_CloneInstance)(void *, GATResourceBrokerCPI_Instance const *, GATResourceBrokerCPI_Instance *)
 

Definition at line 68 of file GATResourceBrokerCPI.h.

typedef GATResult(* GATResourceBrokerCPI_Adaptor_EqualsInstance)(void *, GATResourceBrokerCPI_Instance const *, GATResourceBrokerCPI_Instance const *, GATBool *)
 

Definition at line 71 of file GATResourceBrokerCPI.h.

typedef GATResult(* GATResourceBrokerCPI_Adaptor_ReserveResource_Description)( void *, GATResourceBrokerCPI_Instance const *, GATResourceDescription_const, GATTime_const, GATTimePeriod_const, GATReservation *)
 

Definition at line 77 of file GATResourceBrokerCPI.h.

typedef GATResult(* GATResourceBrokerCPI_Adaptor_ReserveResource)( void *, GATResourceBrokerCPI_Instance const *, GATResource_const, GATTime_const, GATTimePeriod_const, GATReservation *)
 

Definition at line 81 of file GATResourceBrokerCPI.h.

typedef GATResult(* GATResourceBrokerCPI_Adaptor_FindResources)( void *, GATResourceBrokerCPI_Instance const *, GATResourceDescription_const, GATList_GATResource *)
 

Definition at line 85 of file GATResourceBrokerCPI.h.

typedef GATResult(* GATResourceBrokerCPI_Adaptor_SubmitJob)( void *, GATResourceBrokerCPI_Instance const *, GATJobDescription_const, GATJob *)
 

Definition at line 89 of file GATResourceBrokerCPI.h.


Function Documentation

GATResourceBrokerCPI GATResourceBrokerCPI_Create unsigned long int    version,
GATResourceBrokerCPI_Data   data
 

GATResourceBrokerCPI_Create The GATResourceBrokerCPI constructor.

new_cpi is the constructor for GATResourceBrokerCPI objects.

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

Definition at line 71 of file GATResourceBrokerCPI.c.

References GATResourceBrokerCPI_Data::clone_instance, GATResourceBrokerCPI_S::clone_instance, GATResourceBrokerCPI_Data::create_instance, GATResourceBrokerCPI_S::create_instance, GATResourceBrokerCPI_Data::data, GATResourceBrokerCPI_S::data, data, GATResourceBrokerCPI_Data::destroy, GATResourceBrokerCPI_S::destroy, GATResourceBrokerCPI_Data::destroy_instance, GATResourceBrokerCPI_S::destroy_instance, GATResourceBrokerCPI_Data::equals_instance, GATResourceBrokerCPI_S::equals_instance, GATResourceBrokerCPI_Data::find_resources, GATResourceBrokerCPI_S::find_resources, GATResourceBrokerCPI_IsValidData_V1(), GATRESOURCEBROKERCPI_VERSION, GATTrue, GATResourceBrokerCPI_Data::reserve, GATResourceBrokerCPI_S::reserve, GATResourceBrokerCPI_Data::reserve_description, GATResourceBrokerCPI_S::reserve_description, GATResourceBrokerCPI_Data::service_actions, GATResourceBrokerCPI_S::service_actions, GATResourceBrokerCPI_Data::submit_job, and GATResourceBrokerCPI_S::submit_job.

Referenced by resourcebroker_adaptor_Register_GATResourceBrokerCPI().

void GATResourceBrokerCPI_Destroy GATResourceBrokerCPI   object
 

GATResourceBrokerCPI_Destroy The GATResourceBrokerCPI destructor.

This is the destructor for GATResourceBrokerCPI objects.

Parameters:
this  An old GATResourceBrokerCPI

Definition at line 129 of file GATResourceBrokerCPI.c.

Referenced by resourcebroker_adaptor_Register_GATResourceBrokerCPI().

GATResult GATResourceBrokerCPI_CreateInstance GATResourceBrokerCPI    cpi,
GATResourceBrokerCPI_Instance   instance_data
 

GATResourceBrokerCPI_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 152 of file GATResourceBrokerCPI.c.

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

Referenced by GATResourceBroker_Create().

void GATResourceBrokerCPI_DestroyInstance GATResourceBrokerCPI    cpi,
GATResourceBrokerCPI_Instance   instance_data
 

GATResourceBrokerCPI_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 167 of file GATResourceBrokerCPI.c.

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

Referenced by GATResourceBroker_Destroy().

GATResult GATResourceBrokerCPI_CloneInstance GATResourceBrokerCPI    cpi,
GATResourceBrokerCPI_Instance const *    instance_data,
GATResourceBrokerCPI_Instance   new_instance_data
 

GATResourceBrokerCPI_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.
new_instance_data  The new instance data is to be returned here.
Returns:
An error code.

Definition at line 185 of file GATResourceBrokerCPI.c.

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

Referenced by GATResourceBroker_Clone().

GATResult GATResourceBrokerCPI_EqualsInstance GATResourceBrokerCPI    cpi,
GATResourceBrokerCPI_Instance const *    lhs,
GATResourceBrokerCPI_Instance const *    rhs,
GATBool   isequal
 

GATResourceBrokerCPI_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 206 of file GATResourceBrokerCPI.c.

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

Referenced by GATResourceBroker_Equals().

GATResult GATResourceBrokerCPI_ReserveResource_Description GATResourceBrokerCPI    cpi,
GATResourceBrokerCPI_Instance const *    instance_data,
GATResourceDescription_const    description,
GATTime_const    time,
GATTimePeriod_const    duration,
GATReservation   reservation
 

GATResourceBrokerCPI_ReserveResource_Description Reserve a resource, which mets the description.

Call the adaptor to allocate a reservation

Parameters:
cpi  The ResourceBroker CPI object.
instance_data  The instance data of the CPI object to clone.
description  The ResourceDescription to use to select the appropriate resource.
time  The (optional) time, when the reservation has to start
duration  The (optional) time period for which to reserve the resource.
reservation  The pointer to the GATReservation variable to use to return the resulting reservation.
Returns:
An error value.

Definition at line 232 of file GATResourceBrokerCPI.c.

References cpi, GATResourceBrokerCPI_S::data, GATReservation, GATResourceDescription_const, GATTime_const, GATTimePeriod_const, and GATResourceBrokerCPI_S::reserve_description.

Referenced by GATResourceBroker_ReserveResource_Description().

GATResult GATResourceBrokerCPI_ReserveResource GATResourceBrokerCPI    cpi,
GATResourceBrokerCPI_Instance const *    instance_data,
GATResource_const    resource,
GATTime_const    time,
GATTimePeriod_const    duration,
GATReservation   reservation
 

GATResourceBrokerCPI_ReserveResource Reserve a given resource.

Call the adaptor to allocate a reservation

Parameters:
cpi  The ResourceBroker CPI object.
instance_data  The instance data of the CPI object to clone.
resource  The resource to reserve.
time  The (optional) time, when the reservation has to start
duration  The (optional) time period for which to reserve the resource.
reservation  The pointer to the GATReservation variable to use to return the resulting reservation.
Returns:
An error value.

Definition at line 258 of file GATResourceBrokerCPI.c.

References cpi, GATResourceBrokerCPI_S::data, GATReservation, GATResource_const, GATTime_const, GATTimePeriod_const, and GATResourceBrokerCPI_S::reserve.

Referenced by GATResourceBroker_ReserveResource().

GATResult GATResourceBrokerCPI_FindResources GATResourceBrokerCPI    cpi,
GATResourceBrokerCPI_Instance const *    instance_data,
GATResourceDescription_const    description,
GATList_GATResource *    resources
 

GATResourceBrokerCPI_FindResources Find a list of matching resources.

Call the adaptor to find a list of resources matching the given resource description.

Parameters:
cpi  The ResourceBroker CPI object.
instance_data  The instance data of the CPI object to clone.
description  The resource description to match.
resources  The pointer to the GATList_GATResource variable to use to return the resulting list of resources.
Returns:
An error value.

Definition at line 282 of file GATResourceBrokerCPI.c.

References cpi, GATResourceBrokerCPI_S::data, GATResourceBrokerCPI_S::find_resources, and GATResourceDescription_const.

Referenced by GATResourceBroker_FindResources().

GATResult GATResourceBrokerCPI_SubmitJob GATResourceBrokerCPI    cpi,
GATResourceBrokerCPI_Instance const *    instance_data,
GATJobDescription_const    description,
GATJob   job
 

GATResourceBrokerCPI_SubmitJob Submit a new job.

Call the adaptor to submit a new job to a resource.

Parameters:
cpi  The ResourceBroker CPI object.
instance_data  The instance data of the CPI object to clone.
description  The resource description to match.
resources  The pointer to the GATJob variable to use to return the resulting job.
Returns:
An error value.

Definition at line 304 of file GATResourceBrokerCPI.c.

References cpi, GATResourceBrokerCPI_S::data, GATJob, GATJobDescription_const, and GATResourceBrokerCPI_S::submit_job.

Referenced by GATResourceBroker_SubmitJob().