source: trunk/drmaa_utils/drmaa_utils/template.h @ 1

Revision 1, 2.0 KB checked in by mmamonski, 13 years ago (diff)

Torque/PBS DRMAA initial commit

Line 
1/* $Id: template.h 2 2009-10-12 09:51:22Z mamonski $ */
2/*
3 *  FedStage DRMAA utilities library
4 *  Copyright (C) 2006-2008  FedStage Systems
5 *
6 *  This program is free software: you can redistribute it and/or modify
7 *  it under the terms of the GNU General Public License as published by
8 *  the Free Software Foundation, either version 3 of the License, or
9 *  (at your option) any later version.
10 *
11 *  This program is distributed in the hope that it will be useful,
12 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
13 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14 *  GNU General Public License for more details.
15 *
16 *  You should have received a copy of the GNU General Public License
17 *  along with this program.  If not, see <http://www.gnu.org/licenses/>.
18 */
19
20#ifndef __DRMAA_UTILS__TEMPLATE_H
21#define __DRMAA_UTILS__TEMPLATE_H
22
23#ifdef HAVE_CONFIG_H
24#       include <config.h>
25#endif
26
27#include <drmaa_utils/common.h>
28
29typedef const fsd_attribute_t *
30fsd_template_by_name_method( const fsd_template_t *self, const char *name );
31
32typedef const fsd_attribute_t *
33fsd_template_by_code_method( const fsd_template_t *self, int code );
34
35
36fsd_template_t *
37fsd_template_new(
38                fsd_template_by_name_method *by_name_method,
39                fsd_template_by_code_method *by_code_method,
40                unsigned n_attributes
41                );
42
43struct fsd_template_s {
44        const char* (*
45        get_attr)( const fsd_template_t *self, const char *name );
46
47        void (*
48        set_attr)( fsd_template_t *self, const char *name, const char *value );
49
50        const char* const* (*
51        get_v_attr)( const fsd_template_t *self, const char *name );
52
53        void (*
54        set_v_attr)( fsd_template_t *self, const char *name, const char **value );
55
56        const fsd_attribute_t* (*
57        by_name)( const fsd_template_t *self, const char *name );
58
59        const fsd_attribute_t* (*
60        by_code)( const fsd_template_t *self, int code );
61
62        void (*
63        destroy)( fsd_template_t *self );
64
65        void **attributes;
66        unsigned n_attributes;
67};
68
69struct fsd_attribute_s {
70        const char *name;
71        int code;
72        bool is_vector;
73};
74
75
76#endif /* __DRMAA_UTILS__TEMPLATE_H */
77
Note: See TracBrowser for help on using the repository browser.