00001
00002
00003
00004
00005
00006
00007 #ifndef SAGA_PACKAGES_JOB_JOB_DESCRIPTION_HPP
00008 #define SAGA_PACKAGES_JOB_JOB_DESCRIPTION_HPP
00009
00010 #include <string>
00011 #include <vector>
00012
00013
00014 #include <saga/saga/util.hpp>
00015 #include <saga/saga/base.hpp>
00016 #include <saga/saga/types.hpp>
00017 #include <saga/saga/session.hpp>
00018 #include <saga/saga/call.hpp>
00019 #include <saga/saga/detail/attribute.hpp>
00020
00021 #include <saga/saga/packages/job/config.hpp>
00022
00023
00024 #if defined(BOOST_MSVC)
00025 #pragma warning(push)
00026 #pragma warning(disable: 4251 4231 4275 4660)
00027 #endif
00028
00030 namespace saga
00031 {
00032 namespace job {
00033
00034 namespace attributes
00035 {
00039 char const* const description_executable = "Executable";
00042 char const* const description_arguments = "Arguments";
00045 char const* const description_environment = "Environment";
00048 char const* const description_working_directory = "WorkingDirectory";
00051 char const* const description_interactive = "Interactive";
00054 char const* const description_input = "Input";
00057 char const* const description_output = "Output";
00060 char const* const description_error = "Error";
00063 char const* const description_file_transfer = "FileTransfer";
00066 char const* const description_cleanup = "Cleanup";
00069 char const* const description_job_start_time = "JobStartTime";
00072 char const* const description_total_cpu_time = "TotalCPUTime";
00075 char const* const description_wall_time_limit = "WallTimeLimit";
00078 char const* const description_total_physical_memory = "TotalPhysicalMemory";
00081 char const* const description_cpu_architecture = "CPUArchitecture";
00082
00085 char const* const description_operating_system_type = "OperatingSystemType";
00089 char const* const description_candidate_hosts = "CandidateHosts";
00092 char const* const description_queue = "Queue";
00095 char const* const description_job_contact = "JobContact";
00098 char const* const description_job_project = "JobProject";
00101 char const* const description_spmd_variation = "SPMDVariation";
00104 char const* const description_total_cpu_count = "TotalCPUCount";
00107 char const* const description_number_of_processes = "NumberOfProcesses";
00110 char const* const description_processes_per_host = "ProcessesPerHost";
00113 char const* const description_threads_per_process = "ThreadsPerProcess";
00114
00116 char const* const description_cpuarchitecture_sparc = "sparc";
00118 char const* const description_cpuarchitecture_powerpc = "powerpc";
00120 char const* const description_cpuarchitecture_x86 = "x86";
00122 char const* const description_cpuarchitecture_x86_32 = "x86_32";
00124 char const* const description_cpuarchitecture_x86_64 = "x86_64";
00126 char const* const description_cpuarchitecture_parisc = "parisc";
00128 char const* const description_cpuarchitecture_mips = "mips";
00130 char const* const description_cpuarchitecture_ia64 = "ia64";
00132 char const* const description_cpuarchitecture_arm = "arm";
00134 char const* const description_cpuarchitecture_other = "other";
00135
00137 namespace detail
00138 {
00139 char const* const description_operating_system_unknown = "Unknown";
00140 char const* const description_operating_system_macos = "MACOS";
00141 char const* const description_operating_system_attunix = "ATTUNIX";
00142 char const* const description_operating_system_dgux = "DGUX";
00143 char const* const description_operating_system_decnt = "DECNT";
00144 char const* const description_operating_system_true64_unix = "True64_UNIX";
00145 char const* const description_operating_system_openvms = "openVMS";
00146 char const* const description_operating_system_hpux = "HPUX";
00147 char const* const description_operating_system_aix = "AIX";
00148 char const* const description_operating_system_mvs = "MVS";
00149 char const* const description_operating_system_os400 = "OS400";
00150 char const* const description_operating_system_os_2 = "OS_2";
00151 char const* const description_operating_system_javavm = "JavaVM";
00152 char const* const description_operating_system_msdos = "MSDOS";
00153 char const* const description_operating_system_win3x = "WIN3x";
00154 char const* const description_operating_system_win95 = "WIN95";
00155 char const* const description_operating_system_win98 = "WIN98";
00156 char const* const description_operating_system_winnt = "WINNT";
00157 char const* const description_operating_system_wince = "WINCE";
00158 char const* const description_operating_system_ncr3000 = "NCR3000";
00159 char const* const description_operating_system_netware = "netWare";
00160 char const* const description_operating_system_osf = "OSF";
00161 char const* const description_operating_system_dc_os = "DC_OS";
00162 char const* const description_operating_system_reliant_unix = "Reliant_UNIX";
00163 char const* const description_operating_system_sco_unixware = "SCO_UnixWare";
00164 char const* const description_operating_system_sco_openserver = "SCO_OpenServer";
00165 char const* const description_operating_system_sequent = "Sequent";
00166 char const* const description_operating_system_irix = "IRIX";
00167 char const* const description_operating_system_solaris = "Solaris";
00168 char const* const description_operating_system_sunos = "SunOS";
00169 char const* const description_operating_system_u6000 = "U6000";
00170 char const* const description_operating_system_aseries = "ASERIES";
00171 char const* const description_operating_system_tandemnsk = "TandemNSK";
00172 char const* const description_operating_system_tandemnt = "TandenNT";
00173 char const* const description_operating_system_bs2000 = "BS2000";
00174 char const* const description_operating_system_linux = "LINUX";
00175 char const* const description_operating_system_lynx = "Lynx";
00176 char const* const description_operating_system_xenix = "XENIX";
00177 char const* const description_operating_system_vm = "VM";
00178 char const* const description_operating_system_interactive_unix = "Interactive_UNIX";
00179 char const* const description_operating_system_bsdunix = "BSDUNIX";
00180 char const* const description_operating_system_freebsd = "FreeBSD";
00181 char const* const description_operating_system_netbsd = "NetBSD";
00182 char const* const description_operating_system_gnu_hurd = "GNU_Hurd";
00183 char const* const description_operating_system_os9 = "OS9";
00184 char const* const description_operating_system_mach_kernel = "MACH_Kernel";
00185 char const* const description_operating_system_inferno = "Inferno";
00186 char const* const description_operating_system_qnx = "QNX";
00187 char const* const description_operating_system_epoc = "EPOC";
00188 char const* const description_operating_system_ixworks = "IxWorks";
00189 char const* const description_operating_system_vxworks = "VxWorks";
00190 char const* const description_operating_system_mint = "MiNT";
00191 char const* const description_operating_system_beos = "BeOS";
00192 char const* const description_operating_system_hp_mpe = "HP_MPE";
00193 char const* const description_operating_system_nextstep = "NextStep";
00194 char const* const description_operating_system_palmpilot = "PalmPilot";
00195 char const* const description_operating_system_rhapsody = "Rhapsody";
00196 char const* const description_operating_system_windows_2000 = "Windows_2000";
00197 char const* const description_operating_system_dedicated = "Dedicated";
00198 char const* const description_operating_system_os_390 = "OS_390";
00199 char const* const description_operating_system_vse = "VSE";
00200 char const* const description_operating_system_tpf = "TPF";
00201 char const* const description_operating_system_windows_me = "Windows_Me";
00202 char const* const description_operating_system_caldera_open_unix = "Caldera_open_UNIX";
00203 char const* const description_operating_system_openbsd = "OpenBSD";
00204 char const* const description_operating_system_not_applicable = "Not_Applicable";
00205 char const* const description_operating_system_windows_xp = "Windows_XP";
00206 char const* const description_operating_system_z_os = "z_OS";
00207 char const* const description_operating_system_other = "other";
00208 }
00210 }
00211
00221 class SAGA_JOB_PACKAGE_EXPORT description
00222 : public saga::object,
00223 public saga::detail::attribute<description>
00224 {
00225 protected:
00227
00228 friend struct saga::detail::attribute<description>;
00229 friend class saga::impl::description;
00230 explicit description(saga::impl::description *impl);
00232
00233 public:
00238 description (void);
00239
00244 explicit description (saga::object const& o);
00245
00250 ~description (void);
00251
00256 description &operator= (saga::object const& o);
00257
00258 };
00259
00260 }
00261 }
00262
00263
00264 #if defined(BOOST_MSVC)
00265 #pragma warning(pop)
00266 #endif
00267
00268 #endif // !defined(SAGA_PACKAGES_JOB_JOB_DESCRIPTION_HPP)
00269