install -m 644 ${GEN_H} ${PREFIX}/${STAGETO}
install -m 644 ${top_srcdir}/LICENSE ${PREFIX}/share/doc/${package}-${version}
cd ${top_srcdir}/interface && install -m 644 ${STATIC_H} ${PREFIX}/${STAGETO}
- cd ${top_srcdir}/doc && tar cf - C CPP | (cd ${PREFIX}/share/doc/${package}-${version} && tar xvf -)
+ cd ${top_srcdir}/doc && cp -r C CPP ${PREFIX}/share/doc/${package}-${version}
clean:
rm -f *.h
#define __EDG_WORKLOAD_LOGGING_CLIENT_COUNTREF_HPP__
/**
- * \define EWL_BEGIN_NAMESPACE
- *
* Switching into glite.lb namespace (couple with EWL_END_NAMESPACE).
*/
#define EWL_BEGIN_NAMESPACE namespace glite { namespace lb {
/**
- * \define EWL_END_NAMESPACE
- *
* Leave the glite.lb namespace.
*/
#define EWL_END_NAMESPACE } }
-EWL_BEGIN_NAMESPACE;
+EWL_BEGIN_NAMESPACE
template<typename T>
class CountRef {
count++;
}
-EWL_END_NAMESPACE;
+EWL_END_NAMESPACE
#endif
const std::vector<Event> log(void) const;
/** Return last known address of a listener associated to the job.
- * \param name name of the listener
+ * \param name IN name of the listener
* \return hostname and port number
*/
const std::pair<std::string,uint16_t> queryListener(const std::string & name) const;
*
* The same as for edg_wll_Context in C
*
- * \param ctx INOUT context to work with
- * \param val IN value
+ * \param ctx INOUT context to work with
+ * \param val IN value
*/
void setParam(edg_wll_ContextParam ctx, int val);
/**
*
* The same as for edg_wll_Context in C
*
- * \param ctx INOUT context to work with
- * \param val IN value
+ * \param ctx INOUT context to work with
+ * \param val IN value
*/
void setParam(edg_wll_ContextParam ctx, const std::string val);
/**
*
* The same as for edg_wll_Context in C
*
- * \param ctx INOUT context to work with
- * \param val IN value
+ * \param ctx INOUT context to work with
+ * \param val IN value
*/
void setParam(edg_wll_ContextParam ctx, const struct timeval &val);
*
* The same as for edg_wll_Context in C
*
- * \param ctx INOUT context to work with
+ * \param ctx INOUT context to work with
* \return integer value of the parameter
*/
int getParamInt(edg_wll_ContextParam ctx) const;
*
* The same as for edg_wll_Context in C
*
- * \param ctx INOUT context to work with
+ * \param ctx INOUT context to work with
* \return string value of the parameter
*/
- std::string getParamString(edg_wll_ContextParam) const;
+ std::string getParamString(edg_wll_ContextParam ctx) const;
/**
* Get LB parameters.
*
* The same as for edg_wll_Context in C
*
- * \param ctx INOUT context to work with
+ * \param ctx INOUT context to work with
* \return timeval value of the parameter
*/
- struct timeval getParamTime(edg_wll_ContextParam) const;
+ struct timeval getParamTime(edg_wll_ContextParam ctx) const;
private:
ServerConnection server;
#include "glite/lb/JobStatus.h"
-EWL_BEGIN_NAMESPACE;
+EWL_BEGIN_NAMESPACE
/** Manage LB notifications.
*/
Notification();
- /** Create from server,port pair
+ /** Create from server host,port pair
* to be used for new notifications, i.e. with Register()
- * \param host
- * \param port
+ * \param host IN host
+ * \param port IN port
*/
- Notification(const std::string,const u_int16_t);
+ Notification(const std::string host,const u_int16_t port);
/** Create from NotifId
* to be used for existing notifications, i.e. with Bind()
- * \param notifId
+ * \param notifId IN NotifId
*/
- Notification(const std::string);
+ Notification(const std::string notifId);
~Notification();
/** Add this job to the list.
* Local operation only, Register() has to be called
* to propagate changes to server
+ * \param jobId IN JobId
*/
- void addJob(const glite::wmsutils::jobid::JobId &);
+ void addJob(const glite::wmsutils::jobid::JobId &jobId);
- /** Remove job from the list, local op again. */
- void removeJob(const glite::wmsutils::jobid::JobId &);
+ /** Remove job from the list, local op again.
+ * \param jobId IN JobId
+ */
+ void removeJob(const glite::wmsutils::jobid::JobId &jobId);
/** Get jobs on the list */
std::string getJobs();
/** Bind to the existing notification at the server
* i.e. change the receiving local address
- * \param address_override
+ * \param address IN address override
*/
- void Bind(const std::string);
+ void Bind(const std::string address);
/** Receive notification.
* Blocks at most the specified timeout (maybe 0 for local polling).
};
-EWL_END_NAMESPACE;
+EWL_END_NAMESPACE
#endif
*/
void queryEvents(const std::vector<QueryRecord>& job_cond,
const std::vector<QueryRecord>& event_cond,
- std::vector<Event>&) const;
+ std::vector<Event>& events) const;
const std::vector<Event> queryEvents(const std::vector<QueryRecord>& job_cond,
const std::vector<QueryRecord>& event_cond) const;
/** Retrieve all events satisfying the query records
- * @param job_cond, event_cond - vectors of vectors of job or event conditions,
+ * @param job_cond, event_cond IN vectors of vectors of job or event conditions,
* respectively. The inner vectors are logically ANDed, the outer are ORed
* (cond1 AND cond2 AND ...) OR (condN AND ...)
- * @param events vector of returned events
+ * @param eventList OUT vector of returned events
*/
void queryEvents(const std::vector<std::vector<QueryRecord> >& job_cond,
const std::vector<std::vector<QueryRecord> >& event_cond,
- std::vector<Event>&) const;
+ std::vector<Event>& eventList) const;
const std::vector<Event>
queryEvents(const std::vector<std::vector<QueryRecord> >& job_cond,
/** Retrieve jobs satisfying the query records, including their states
- * @param query vector of Query records that are anded to form the
- * query
- * @param ids vector of returned job id's
- * @param states vector of returned job states
+ * @param query IN vector of Query records that are ANDed to form the query
+ * @param jobList OUT vector of returned job id's
*/
void queryJobs(const std::vector<QueryRecord>& query,
- std::vector<glite::wmsutils::jobid::JobId>& ids) const;
+ std::vector<glite::wmsutils::jobid::JobId>& jobList) const;
const std::vector<glite::wmsutils::jobid::JobId>
queryJobs(const std::vector<QueryRecord>& query) const;
/** Retrieve jobs satisfying the query records, including their states
- * @param query vector of Query record vectors that are ORed and ANDed to form the
- * query
- * @param ids vector of returned job id's
- * @param states vector of returned job states
+ * @param query IN vector of Query record vectors that are ORed and ANDed to form the query
+ * @param jobList OUT vector of returned job id's
*/
void queryJobs(const std::vector<std::vector<QueryRecord> >& query,
- std::vector<glite::wmsutils::jobid::JobId>& ids) const;
+ std::vector<glite::wmsutils::jobid::JobId>& jobList) const;
const std::vector<glite::wmsutils::jobid::JobId>
queryJobs(const std::vector<std::vector<QueryRecord> >& query) const;
- /** Retrieve jobs satisfying the query records, including status
- * information
- * @param query vector of Query records that are anded to form the
- * query
- * @param ids vector of returned job id's
- * @param states vector of returned job states
+ /** Retrieve jobs satisfying the query records, including status information
+ * @param query IN vector of Query records that are ANDed to form the query
+ * @param flags IN flags
+ * @param states OUT vector of returned job states
*/
void queryJobStates(const std::vector<QueryRecord>& query,
int flags,
const std::list<JobStatus> queryJobStatesList(const std::vector<QueryRecord>& query,
int flags) const;
- /** Retrieve jobs satisfying the query records, including status
- * information
- * @param query vector of Query records that are anded to form the
- * query
- * @param ids vector of returned job id's
- * @param states vector of returned job states
+ /** Retrieve jobs satisfying the query records, including status information
+ * @param query IN vector of Query records that are anded to form the query
+ * @param flags IN flags
+ * @param states OUT vector of returned job states
*/
void queryJobStates(const std::vector<std::vector<QueryRecord> >& query,
int flags,
#define __EDG_WORKLOAD_LOGGING_CLIENT_CONSUMER_H__
/*!
+ * \file consumer.h
* \brief L&B consumer API
*
* General rules:
* \a attr \a op \a value eg. time > 87654321.
* \see edg_wll_QueryRec
*
- * \param context IN: context to work with
- * \param job_conditions IN: query conditions (ANDed) on current job status, null (i.e. ATTR_UNDEF) terminated list. NULL means empty list, i.e. always TRUE
- * \param event_conditions: conditions on events, null terminated list, NULL means empty list, i.e. always TRUE
- * \param events OUT: list of matching events
+ * \param context IN: context to work with
+ * \param job_conditions IN: query conditions (ANDed) on current job status, null (i.e. ATTR_UNDEF) terminated list. NULL means empty list, i.e. always TRUE
+ * \param event_conditions: IN: conditions on events, null terminated list, NULL means empty list, i.e. always TRUE
+ * \param events OUT: list of matching events
*/
int edg_wll_QueryEvents(
edg_wll_Context context,
* Return jobs (and possibly their states) for which an event satisfying the conditions
* exists.
* \see edg_wll_QueryEvents
- * \param context IN: context to work with
- * \param conditions IN: query records (ANDed), null (i.e. EDG_WLL_ATTR_UNDEF) terminated list
- * \param flags IN: additional status fields to retrieve (\see edg_wll_JobStatus)
- * \param jobs OUT: list of job ids. May be NULL.
- * \param states OUT: list of corresponding states (returned only if not NULL)
+ * \param context IN: context to work with
+ * \param conditions IN: query records (ANDed), null (i.e. EDG_WLL_ATTR_UNDEF) terminated list
+ * \param flags IN: additional status fields to retrieve (\see edg_wll_JobStatus)
+ * \param jobs OUT: list of job ids. May be NULL.
+ * \param states OUT: list of corresponding states (returned only if not NULL)
*/
int edg_wll_QueryJobs(
edg_wll_Context context,
/* starting from bit 10 private flags begins - do not add 1024 and more! */
/** Return status of a single job.
- * \param context IN: context to operate on
- * \param jobid IN: query this job
- * \param flags IN: specifies optional status fields to retrieve,
+ * \param context IN: context to operate on
+ * \param jobid IN: query this job
+ * \param flags IN: specifies optional status fields to retrieve,
* \see EDG_WLL_STAT_CLASSADS, EDG_WLL_STAT_CHILDREN, EDG_WLL_STAT_CHILDSTAT
- * \param status OUT: the status of the job
+ * \param status OUT: status
*/
int edg_wll_JobStatus(
);
/**
- * Query LBProxy and use plain communication.
- * \param context IN: context to operate on
- * \param jobid IN: query this job
- * \param flags IN: specifies optional status fields to retrieve,
- * \see EDG_WLL_STAT_CLASSADS, EDG_WLL_STAT_CHILDREN, EDG_WLL_STAT_CHILDSTAT
- * \param status OUT: the status of the job
+ * Query LBProxy and use plain communication
+ * \param context IN: context to operate on
+ * \param jobid IN: query this job
+ * \param flags IN: specifies optional status fields to retrieve,
+ * \see EDG_WLL_STAT_CLASSADS, EDG_WLL_STAT_CHILDREN, EDG_WLL_STAT_CHILDSTAT
+ * \param status OUT: the status of the job
*/
int edg_wll_JobStatusProxy(
edg_wll_Context context,
- const edg_wlc_JobId jobid,
+ const edg_wlc_JobId jobid,
int flags,
edg_wll_JobStat *status
);
/**
* Return all events related to a single job.
* Convenience wrapper around edg_wll_Query()
- * \param context IN: context to work with
- * \param jobId IN: job to query
- * \param events OUT: list of events
+ * \param context IN: context to work with
+ * \param jobId IN: job to query
+ * \param events OUT: list of events
*/
int edg_wll_JobLog(
/**
* All current user's jobs.
- * \param context IN: context to work with
- * \param jobs OUT: list of the user's jobs
- * \param states OUT: list of the jobs' states
+ * \param context IN: context to work with
+ * \param jobs OUT: list of the user's jobs
+ * \param states OUT: list of the jobs' states
*/
int edg_wll_UserJobs(
edg_wll_Context context,
/**
* Server supported indexed attributes
* \see DataGrid-01-TEN-0125
- * \param context IN: context to work with
- * \param attrs OUT: configured indices (each index is an UNDEF-terminated
+ * \param context IN: context to work with
+ * \param attrs OUT: configured indices (each index is an UNDEF-terminated
* array of QueryRec's from which only attr (and attr_id
* eventually) are meaningful
*/
* Retrieve limit on query result size (no. of events or jobs).
* FIXME: not implemented.
* \see DataGrid-01-TEN-0125
- * \param context IN: context to work with
- * \param limit OUT: server imposed limit
+ * \param context IN: context to work with
+ * \param limit OUT: server imposed limit
*/
int edg_wll_GetServerLimit(
edg_wll_Context context,
/**
* UI port for the job
- * \param context IN: context to work with
- * \param jobId IN: job to query
- * \param name IN: name of the UI-port
- * \param host OUT: hostname of port
- * \param port OUT: port number
+ * \param context IN: context to work with
+ * \param jobId IN: job to query
+ * \param name IN: name of the UI-port
+ * \param host OUT: hostname of port
+ * \param port OUT: port number
*/
int edg_wll_QueryListener(
edg_wll_Context context,
/**
* Ask LB Proxy server for sequence number
- * \param context IN: context to work with
- * \param jobId IN: job to query
- * \param code OUT: sequence code
+ * \param context IN: context to work with
+ * \param jobId IN: job to query
+ * \param code OUT: sequence code
*/
...
);
-struct timeval; /* gcc, shut up! */
+struct timeval; /* XXX: gcc, shut up! */
/** Set a context parameter of type int.
- * \param ctx INOUT context to work with
- * \param param IN parameter to set
- * \param val IN value to set
- * \retval 0 success
- * \retval EINVAL param is not a valid parameter, or invalid value
+ * \param ctx INOUT context to work with
+ * \param param IN parameter to set
+ * \param val IN value to set
+ * \retval 0 success
+ * \retval EINVAL param is not a valid parameter, or invalid value
*/
-int edg_wll_SetParamInt(edg_wll_Context ctx, edg_wll_ContextParam param, int val);
+int edg_wll_SetParamInt(edg_wll_Context ctx,edg_wll_ContextParam param,int val);
/** Set a context parameter of type string.
- * \param context INOUT context to work with
- * \param param IN parameter to set
- * \param IN val to set (if NULL, default is used)
- * \retval 0 success
- * \retval EINVAL param is not a valid parameter, or invalid value
+ * \param ctx INOUT context to work with
+ * \param param IN parameter to set
+ * \param val In value to set (if NULL, default is used)
+ * \retval 0 success
+ * \retval EINVAL param is not a valid parameter, or invalid value
*/
int edg_wll_SetParamString(edg_wll_Context ctx,edg_wll_ContextParam param,const char *val);
/** Set a context parameter of type timeval.
- * \param INOUT ctx context to work with
- * \param IN param parameter to set
- * \param IN val value to set (if NULL, default is used)
- * \retval 0 success
- * \retval EINVAL param is not a valid parameter, or invalid value
+ * \param ctx INOUT context to work with
+ * \param param IN parameter to set
+ * \param val IN value to set (if NULL, default is used)
+ * \retval 0 success
+ * \retval EINVAL param is not a valid parameter, or invalid value
*/
int edg_wll_SetParamTime(edg_wll_Context ctx,edg_wll_ContextParam param,const struct timeval *val);
# enum
gen qq{
/**
- * \\enum $enum
+ * \\$enum
* $fn codes
*/
$enum \{
# enum
gen qq{
/**
- * \\enum $enum
+ * \\$enum
* $fn codes of the $t event
*/
$enum \{
/**
* Free the contents of event structure
- * \param event IN structure to be freed
+ * \param event IN structure to be freed
* \warning As event structures are likely to be allocated in arrays,
* the structure itself is not freed.
* Its the responsibility of the caller to call free(event)
*/
/*!
+ * \file jobstat.h
* \brief edg_wll_JobStat definition and related stuff
*/
#define __EDG_WORKLOAD_LOGGING_CLIENT_PRODUCER_H__
/**
+ * \file producer.h
* \brief client API for storing data into L&B service
*/
*/
};
gen "\nextern int edg_wll_Log${t}$a;\n";
- gen "\nextern int edg_wll_Log${t}Proxy$a;\n";
+# gen "\nextern int edg_wll_Log${t}Proxy$a;\n";
# gen qq{
#int edg_wll_Log$t$a
#\{
*/
};
gen "\nextern int edg_wll_Log$t${code}$c;\n";
- gen "\nextern int edg_wll_Log$t${code}Proxy$c;\n";
+# gen "\nextern int edg_wll_Log$t${code}Proxy$c;\n";
# gen qq{
#int edg_wll_Log$t$code$c
#\{
char *fmt, ...);
/**
- * Formats a logging message and sends it synchronously to L&B Proxy
- * \brief generic synchronous logging function
- * \param context INOUT context to work with,
- * \param event IN type of the event,
- * \param fmt IN printf()-like format string,
- * \param ... IN event specific values/data according to fmt,
- * \retval 0 successful completition,
- * \retval EINVAL bad jobId, unknown event code, or the format string together with the remaining arguments does not form a valid event,
- * \retval ENOSPC L&B infrastructure failed to accept the event due to lack of disk space etc.,
- * \retval ENOMEM failed to allocate memory,
- * \retval ECONNREFUSED cannot connect to the specified L&B Proxy
- * \retval EAGAIN non blocking return from the call, the event may or may not get logged,
- * \retval EDG_WLL_ERROR_NOJOBID logging call attempted without assigning jobId to the context.
- */
-extern int edg_wll_LogEventProxy(
- edg_wll_Context context,
- edg_wll_EventCode event,
- char *fmt, ...);
-
-/**
* Instructs interlogger to to deliver all pending events related to current job
* \brief flush events from interlogger
* \note sort of status query more than a command
/**
* Set a current job for given context.
* \note Should be called before any logging call.
- * \param context INOUT context to work with
- * \param job IN further logging calls are related to this job
- * \param code IN sequence code as obtained from previous component
- * \param flags IN flags on code handling (\see API documentation)
+ * \param context INOUT context to work with
+ * \param job IN further logging calls are related to this job
+ * \param code IN sequence code as obtained from previous component
+ * \param flags IN flags on code handling (\see API documentation)
*/
extern int edg_wll_SetLoggingJob(
edg_wll_Context context,
);
/**
- * Set a current job for given context.
- * \note Should be called before any logging call.
- * \param context INOUT context to work with
- * \param job IN further logging calls are related to this job
- * \param code IN sequence code as obtained from previous component
- * \param user IN user credentials
- * \param flags IN flags on code handling (\see API documentation)
- */
-extern int edg_wll_SetLoggingJobProxy(
- edg_wll_Context context,
- const edg_wlc_JobId job,
- const char * code,
- const char * user,
- int flags
-);
-
-
-/**
* Register job with L&B service.
* Done via logging REGJOB event, may generate subjob id's and create
* the parent-children associations.
* Partitionable jobs should set num_subjobs=0 initially,
* and re-register when number of subjobs becomes known.
*
- * \param type IN EDG_WLL_JOB_SIMPLE, EDG_WLL_JOB_DAG, or EDG_WLL_JOB_PARTITIONABLE
- * \param jdl IN user-specified JDL
- * \param ns IN network server contact
- * \param num_subjobs IN number of subjobs to create
- * \param seed IN seed used for subjob id's generator.
+ * \param context INOUT context to work with
+ * \param job IN jobId
+ * \param type IN EDG_WLL_JOB_SIMPLE, EDG_WLL_JOB_DAG, or EDG_WLL_JOB_PARTITIONABLE
+ * \param jdl IN user-specified JDL
+ * \param ns IN network server contact
+ * \param num_subjobs IN number of subjobs to create
+ * \param seed IN seed used for subjob id's generator.
* Use non-NULL value to be able to regenerate the set of jobid's
- * \param subjobs OUT returned subjob id's
+ * \param subjobs OUT returned subjob id's
*/
/* backward compatibility */
);
/**
- * Register job with L&B Proxy service.
- * Done via logging REGJOB event, may generate subjob id's and create
- * the parent-children associations.
- * Set the job as current for the context and initialize sequence code.
- *
- * Partitionable jobs should set num_subjobs=0 initially,
- * and re-register when number of subjobs becomes known.
- *
- * \param context INOUT context to work with
- * \param job IN registered job
- * \param type IN EDG_WLL_JOB_SIMPLE, EDG_WLL_JOB_DAG, or EDG_WLL_JOB_PARTITIONABLE
- * \param user IN user credentials
- * \param jdl IN user-specified JDL
- * \param ns IN network server contact
- * \param num_subjobs IN number of subjobs to create
- * \param seed IN seed used for subjob id's generator.
- * Use non-NULL value to be able to regenerate the set of jobid's
- * \param subjobs OUT returned subjob id's
- */
-
-extern int edg_wll_RegisterJobProxy(
- edg_wll_Context context,
- const edg_wlc_JobId job,
- enum edg_wll_RegJobJobtype type,
- const char * user,
- const char * jdl,
- const char * ns,
- int num_subjobs,
- const char * seed,
- edg_wlc_JobId ** subjobs
-);
-
-
-/**
* Register subjobs in a batch.
* Mainly used to provide JDL's of individual subjobs in a more efficient
* way than logging them one by one.
- * \param jdls array of JDL's
- * \param subjobs array of jobid's in the same order
+ * \param context INOUT context to work with
+ * \param parent IN parent's jobId
+ * \param jdls IN array of JDL's
+ * \param ns IN network server contact
+ * \param subjobs OUT array of jobid's in the same order
*/
extern int edg_wll_RegisterSubjobs(
/**
* Change ACL for given job.
- * \param context INOUT context to workt with
- * \param user_id IN: specification of user's credential
- * \param user_id_type IN type of user_id,
+ * \param context INOUT context to work with
+ * \param job IN jobId
+ * \param user_id IN specification of user's credential
+ * \param user_id_type IN type of user_id,
* for EDG_WLL_USER_SUBJECT the user_id parameter is expected to be user's subject name
* for EDG_WLL_USER_VOMS_GROUP the user_id is expected to be of the form VO:group specifying required group membersip as managed by VOMS
- * \param permission IN ACL permission to change
- * \param permission_type IN type of given permission (allow or deny operation)
- * \param operation IN operation to perform with ACL (add or remove record)
+ * \param permission ACL permission to change
+ * \param permission_type type of given permission (allow or deny operation)
+ * \param operation operation to perform with ACL (add or remove record)
*/
extern int edg_wll_ChangeACL(
Revision history:
$Log$
+ Revision 1.2 2004/12/08 13:04:29 jpospi
+ first attemtp to generate documentation using doxygen
+
Revision 1.1 2004/07/06 17:47:31 flammer
Update of classpath definitions, targets & configure file.
version=${module.version}
</echo>
<echo file="${module.build.dir}/C.dox">
-PROJECT_NAME = "Glite LB Client: C - Interface"
-PROJECT_NUMBER = ${module.version}
-OUTPUT_DIRECTORY = ${component.dir}/doc/C
-OPTIMIZE_OUTPUT_FOR_C = YES
-INPUT = ./events.h \
- ./jobstat.h \
- ./producer.h \
- ../interface/context.h \
- ../interface/consumer.h
-#HAVE_DOT = YES
-#CALL_GRAPH = YES
+PROJECT_NAME = "Glite LB Client: C - Interface"
+PROJECT_NUMBER = ${module.version}
+OUTPUT_DIRECTORY = ${component.dir}/doc/C
+OPTIMIZE_OUTPUT_FOR_C = YES
+INPUT = ./events.h \
+ ./jobstat.h \
+ ./producer.h \
+ ../interface/context.h \
+ ../interface/consumer.h
+SHOW_DIRECTORIES = NO
+EXTRACT_ALL = YES
+#HAVE_DOT = YES
+#CALL_GRAPH = YES
</echo>
<echo file="${module.build.dir}/CPP.dox">
PROJECT_NAME = "Glite LB Client: CPP - Interface"
../interface/LoggingExceptions.h \
../interface/ServerConnection.h \
../interface/Notification.h
+SHOW_DIRECTORIES = NO
+EXTRACT_ALL = YES
#HAVE_DOT = YES
#CALL_GRAPH = YES
</echo>
-module.version = 1.0.1
+module.version = 1.0.2
module.age = 1
-
\ No newline at end of file
+