// -*- indent-tabs-mode: nil -*- #ifndef __ARC_ARCVERSION_H__ #define __ARC_ARCVERSION_H__ /** \defgroup common Common utility classes and functions. */ /// \file ArcVersion.h /** \addtogroup common * @{ */ /** ARC API version */ #define ARC_VERSION "6.0.0" /** ARC API version number */ #define ARC_VERSION_NUM 0x060000 /** ARC API major version number */ #define ARC_VERSION_MAJOR 6 /** ARC API minor version number */ #define ARC_VERSION_MINOR 0 /** ARC API patch number */ #define ARC_VERSION_PATCH 0 /// Arc namespace contains all core ARC classes. namespace Arc { /// Determines ARC HED libraries version at runtime /** * ARC also provides pre-processor macros to determine the API version at * compile time in \ref ArcVersion.h. * \ingroup common * \headerfile ArcVersion.h arc/ArcVersion.h */ class ArcVersion { public: /// Major version number const unsigned int Major; /// Minor version number const unsigned int Minor; /// Patch version number const unsigned int Patch; /// Parses ver and fills major, minor and patch version values ArcVersion(const char* ver); }; /// Use this object to obtain current ARC HED version /// at runtime. extern const ArcVersion Version; // Front page for ARC SDK documentation /** * \mainpage * The ARC %Software Development Kit (SDK) is a set of tools that allow * manipulation of jobs and data in a Grid environment. The SDK is divided * into a set of modules which take care of * different aspects of Grid interaction. * * In the figure below an overview of the SDK is illustrated, showing * software components depending on the SDK, supported security standards and * in particular plugins providing functionality for different index and * registry services, local information systems, job submission and management * interfaces, matching and ranking algorithms, data access protocols and * job description languages. * * \image html arcsdk.png * * \version The version of the SDK that this documentation refers to can be * found from #ARC_VERSION. The ARC release corresponding to the SDK version * can be found using the "SVN tag" column in the table at * http://www.nordugrid.org/arc/releases/ * * \section sec Quick Start * The following code is a minimal example showing how to submit a job to a * Grid resource using the ARC SDK. For futher examples see the \ref examples * "list of all examples". * \include basic_job_submission.cpp * This code can be compiled with * \code * g++ -o submit -I/usr/include/libxml2 `pkg-config --cflags glibmm-2.4` -l arccompute submit.cpp * \endcode * * And this example shows how to copy a file to or from the Grid: * \include simple_copy.cpp * * This example can be compiled with * \code * g++ -o copy -I/usr/include/libxml2 `pkg-config --cflags glibmm-2.4` -l arcdata copy.cpp * \endcode */ // Page listing all examples /** * \page examples List of all examples * %Job submission and management * - \subpage basicjobsubmission * - \subpage jobfiltering * - \subpage jobstatus * - \subpage joblistretrieval * - \subpage retrievingresults * - \subpage servicediscovery * * Data management * - \subpage copyfile * - \subpage partialcopy * - \subpage exampledmc * - \subpage dtrgenerator * * \page basicjobsubmission Basic %Job Submission * \section cpp C++ * \include basic_job_submission.cpp * \section py Python * \include basic_job_submission.py * \section txt xRSL job description * \include helloworld.xrsl * * \page jobfiltering %Job Filtering * \tableofcontents * When managing multiple jobs it is a speedup and may be more convenient to * use the JobSupervisor class, instead of working on single Job objects. * In the JobSupervisor class jobs can be filtered so operations can be * limited to a subset of jobs. Such examples are shown below: * \section cpp C++ * \include job_selector.cpp * \section py Python * \subsection job_selector Select jobs using custom class * \include job_selector.py * \subsection job_filtering Select jobs based on job state * \include job_filtering.py * * \page jobstatus %Job Status * \include job_status.py * * \page joblistretrieval %Job List Retrieval * \include joblist_retrieval.py * * \page retrievingresults Retrieving Results * \include retrieving_results.py * * \page servicediscovery Service Discovery * \include service_discovery.py * * \page copyfile Copy File * \section cpp C++ * \include simple_copy.cpp * \section py Python * \include copy_file.py * * \page partialcopy Partial File Copy * \section cpp C++ * \include partial_copy.cpp * \section py Python * \include partial_copy.py * * \page exampledmc Example Protocol %Plugin * \include DataPointMyProtocol.cpp * * \page dtrgenerator DTR Generator * \section cpp C++ * Generator.cpp * \include Generator.cpp * Generator.h * \include Generator.h * generator-main.cpp * \include generator-main.cpp * \section py Python * \include dtr_generator.py */ } // namespace Arc /** @} */ #endif // __ARC_ARCVERSION_H__