4
#define __SGE_GDI_LIBRARY_HOME_OBJECT_FILE__
24
SGE_INT (TEST_int, CULL_DEFAULT)
25
SGE_HOST (TEST_host, CULL_DEFAULT)
26
SGE_STRING (TEST_string, CULL_DEFAULT)
27
SGE_FLOAT (TEST_float, CULL_DEFAULT)
28
SGE_DOUBLE (TEST_double, CULL_DEFAULT)
29
SGE_CHAR (TEST_char, CULL_DEFAULT)
30
SGE_LONG (TEST_long, CULL_DEFAULT)
31
SGE_ULONG (TEST_ulong, CULL_DEFAULT)
32
SGE_BOOL (TEST_bool, CULL_DEFAULT)
33
SGE_LIST (TEST_list, TEST_Type, CULL_DEFAULT)
34
SGE_OBJECT (TEST_object, TEST_Type, CULL_DEFAULT)
35
SGE_REF (TEST_ref, TEST_Type, CULL_DEFAULT)
53
#define TEST_Size sizeof(TEST_Name) / sizeof(char *)
56
{1, TEST_Size, TEST_Name},
60
int main(int argc, char *argv[])
62
lListElem *ep, *obj, *copy;
68
/* create an element */
69
ep = lCreateElem(TEST_Type);
70
obj = lCreateElem(TEST_Type);
72
/* test field access functions */
73
lSetInt(ep, TEST_int, 1);
74
lSetHost(ep, TEST_host, "test_host");
75
lSetString(ep, TEST_string, "test_string");
76
lSetFloat(ep, TEST_float, 2.0);
77
lSetDouble(ep, TEST_double, 3.1);
78
lSetChar(ep, TEST_char, 'A');
79
lSetLong(ep, TEST_long, 2);
80
lSetUlong(ep, TEST_ulong, 3);
81
lSetBool(ep, TEST_bool, true);
82
lSetList(ep, TEST_list, NULL);
84
lSetInt(ep, TEST_int, 100);
85
lSetObject(ep, TEST_object, obj);
86
lSetRef(ep, TEST_ref, ep);
88
lSetInt(obj, TEST_int, 50);
90
lAddSubStr(obj, TEST_string, "sub list element in sub object",
91
TEST_list, TEST_Type);
93
printf("element after setting fields\n");
94
lWriteElemTo(ep, stdout);
98
printf("copy of element\n");
99
lWriteElemTo(copy, stdout);
102
/* test lCopyElemPartialPack */
103
/* first copy the complete element */
104
copy = lCreateElem(TEST_Type);
105
enp = lWhat("%T(ALL)", TEST_Type);
107
lCopyElemPartialPack(copy, &index, ep, enp, true, NULL);
108
printf("complete copy of element\n");
109
lWriteElemTo(copy, stdout);
112
/* now copy a reduced element */
113
copy = lCreateElem(TEST_Type);
114
enp = lWhat("%T(%I %I %I)", TEST_Type, TEST_string, TEST_float, TEST_double);
115
index = lGetPosInDescr(TEST_Type, TEST_string);
116
lCopyElemPartialPack(copy, &index, ep, enp, true, NULL);
117
printf("partial copy of element\n");
118
lWriteElemTo(copy, stdout);
122
/* test reducing of elements */
124
/* test clearing of changed info */
125
lListElem_clear_changed_info(ep);
126
printf("cleared changed information for object and sub elements\n");
127
lWriteElemTo(ep, stdout);
129
/* cleanup and exit */