doxygen C.dox
        doxygen CPP.dox
 
-install:
+install: generate doc
        -mkdir -p ${PREFIX}/${STAGETO}
        -mkdir -p ${PREFIX}/share/doc/${package}-${version}
        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 && cp -r C CPP ${PREFIX}/share/doc/${package}-${version}
 
 clean:
        rm -f *.h
 
 #ifndef __EDG_WORKLOAD_LOGGING_CLIENT_COUNTREF_HPP__
 #define __EDG_WORKLOAD_LOGGING_CLIENT_COUNTREF_HPP__
 
+/**
+ * Switching into glite.lb namespace (couple with EWL_END_NAMESPACE).
+ */
 #define EWL_BEGIN_NAMESPACE namespace glite { namespace lb {
+
+/**
+ * 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
 
 #include "glite/lb/events.h"
 #include "glite/lb/notifid.h"
 
-EWL_BEGIN_NAMESPACE;
+EWL_BEGIN_NAMESPACE
 
 class Event {
        friend class Job;
        CountRef<Event> *flesh;
 };
 
-EWL_END_NAMESPACE;
+EWL_END_NAMESPACE
 
 #endif
 
  * @version $Revision$
  */
 
-EWL_BEGIN_NAMESPACE;
+EWL_BEGIN_NAMESPACE
 
 /** L&B job.
+ *
  * Implementation of L&B job-specific calls.
  * Connection to the server is maintained transparently.
-*/
+ */
   
 class Job {
 public:
   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;
   
-  /** Manipulate LB parameters, the same as for edg_wll_Context in C */
-  void setParam(edg_wll_ContextParam, int); 
-  void setParam(edg_wll_ContextParam, const std::string); 
-  void setParam(edg_wll_ContextParam, const struct timeval &); 
+  /** 
+   * Manipulate LB parameters. 
+   *
+   * The same as for edg_wll_Context in C 
+   *
+   * \param ctx        INOUT context to work with
+   * \param val        IN value
+   */
+  void setParam(edg_wll_ContextParam ctx, int val); 
+  /** 
+   * Manipulate LB parameters. 
+   *
+   * The same as for edg_wll_Context in C 
+   *
+   * \param ctx        INOUT context to work with
+   * \param val        IN value
+   */
+  void setParam(edg_wll_ContextParam ctx, const std::string val); 
+  /** 
+   * Manipulate LB parameters. 
+   *
+   * The same as for edg_wll_Context in C 
+   *
+   * \param ctx        INOUT context to work with
+   * \param val        IN value
+   */
+  void setParam(edg_wll_ContextParam ctx, const struct timeval &val); 
 
-  int getParamInt(edg_wll_ContextParam) const;
-  std::string getParamString(edg_wll_ContextParam) const;
-  struct timeval getParamTime(edg_wll_ContextParam) const;
+  /** 
+   * Get LB parameters. 
+   *
+   * The same as for edg_wll_Context in C 
+   *
+   * \param ctx        INOUT context to work with
+   * \return integer value of the parameter
+   */
+  int getParamInt(edg_wll_ContextParam ctx) const;
+  /** 
+   * Get LB parameters. 
+   *
+   * The same as for edg_wll_Context in C 
+   *
+   * \param ctx        INOUT context to work with
+   * \return string value of the parameter
+   */
+  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
+   * \return timeval value of the parameter
+   */
+  struct timeval getParamTime(edg_wll_ContextParam ctx) const;
   
 private:
   ServerConnection     server;
   glite::wmsutils::jobid::JobId                        jobId;
 };
 
-EWL_END_NAMESPACE;
+EWL_END_NAMESPACE
 
 #endif
 
 
 #include <pthread.h>
 
-EWL_BEGIN_NAMESPACE;
+EWL_BEGIN_NAMESPACE
 
 class Exception: public glite::wmsutils::exception::Exception {
 public:
 
 
 
-EWL_END_NAMESPACE;
+EWL_END_NAMESPACE
 
 #endif
 
 #include "glite/lb/JobStatus.h"
 
 
-EWL_BEGIN_NAMESPACE; 
+EWL_BEGIN_NAMESPACE
 
 
 /** Manage LB notifications.
 };
 
 
-EWL_END_NAMESPACE;
+EWL_END_NAMESPACE
 
 #endif
 
 #include "glite/lb/JobStatus.h"
 #include "glite/lb/consumer.h"
 
-EWL_BEGIN_NAMESPACE;
+EWL_BEGIN_NAMESPACE
 
 /** Auxiliary class to hold an atomic query condition. */
 class QueryRecord {
        edg_wll_Context context;
 };
 
-EWL_END_NAMESPACE;
+EWL_END_NAMESPACE
 
 #endif
 
 
 /**
  * General query on events.
- * Return events satysfying all conditions 
+ * Return events satisfying all conditions 
  * query records represent conditions in the form 
  * \a attr \a op \a value eg. time > 87654321.
  * \see edg_wll_QueryRec
 
 /**
  * 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
 );
 
 
 /**
- * default and maximal query timeout (in seconds)
+ * default query timeout (in seconds)
  */
 #define EDG_WLL_QUERY_TIMEOUT_DEFAULT   120
+
+/**
+ * maximal query timeout (in seconds)
+ */
 #define EDG_WLL_QUERY_TIMEOUT_MAX       1800
 
 #ifdef __cplusplus
 
        ...
 );
 
-struct timeval;        /* gcc, shut up! */
-
-/** Set an int context parameter */
-int edg_wll_SetParamInt(edg_wll_Context,edg_wll_ContextParam,int);
-
-/** Set a string context parameter */
-int edg_wll_SetParamString(edg_wll_Context,edg_wll_ContextParam,const char *);
-
-/** Set a timeval context parameter */
-int edg_wll_SetParamTime(edg_wll_Context,edg_wll_ContextParam,const struct timeval *);
+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
+ */
+int edg_wll_SetParamInt(edg_wll_Context ctx,edg_wll_ContextParam param,int val);
+
+/** Set a context parameter of type string.
+ * \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 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);
 
 /** Get current parameter value.
  * \param context INOUT context to work with
 
 #define __EDG_WORKLOAD_LOGGING_CLIENT_EVENTS_H__
 
 /**
- * \file events.h
  * \brief contains definition of event type codes for use both by lbapi.h and dglog.h
  */
 
 gen "\n";
 @@@}
 
+/**
+ * \typedef edg_wll_AnyEvent
+ * common structure definition contained in all types of the events
+ */
 typedef struct _edg_wll_AnyEvent {
 _EDG_WLL_EVENT_COMMON
 } edg_wll_AnyEvent;
 
 
 
 /** Default socket descriptor where to select(2) for notifications.
- * Even if nothing is available for reading freom the socket, 
+ * Even if nothing is available for reading from the socket, 
  * there may be some data cached so calling \see edg_wll_NotifReceive
  * may return notifications immediately.
  *
 
  * \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 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
 
 #Wed Jan 12 04:06:13 CET 2005
-module.version=1.2.0
+module.version=1.2.1
 module.build=146
 module.age=1