annotate GEMBASSY-1.0.3/gsoap/custom/struct_tm.h @ 0:8300eb051bea draft

Initial upload
author ktnyt
date Fri, 26 Jun 2015 05:19:29 -0400
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1 /*
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2 struct_tm.h
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
3
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
4 Custom serializer for <time.h> struct tm
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
5
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
6 #import this file into your gSOAP .h file to enable struct tm
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
7 serialization and use the serializable xsd__dateTime type.
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
8
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
9 To automate the wsdl2h-mapping of xsd:dateTime to struct tm, add this
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
10 line to the typemap.dat file:
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
11
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
12 xsd__dateTime = #import "custom/struct_tm.h" | xsd__dateTime
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
13
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
14 The typemap.dat file is used by wsdl2h to map types (wsdl2h option -t).
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
15
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
16 Link your code with custom/struct_tm.c
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
17
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
18 gSOAP XML Web services tools
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
19 Copyright (C) 2000-2007, Robert van Engelen, Genivia Inc., All Rights Reserved.
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
20 This part of the software is released under ONE of the following licenses:
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
21 GPL, the gSOAP public license, OR Genivia's license for commercial use.
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
22 --------------------------------------------------------------------------------
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
23 gSOAP public license.
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
24
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
25 The contents of this file are subject to the gSOAP Public License Version 1.3
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
26 (the "License"); you may not use this file except in compliance with the
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
27 License. You may obtain a copy of the License at
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
28 http://www.cs.fsu.edu/~engelen/soaplicense.html
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
29 Software distributed under the License is distributed on an "AS IS" basis,
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
30 WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
31 for the specific language governing rights and limitations under the License.
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
32
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
33 The Initial Developer of the Original Code is Robert A. van Engelen.
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
34 Copyright (C) 2000-2007, Robert van Engelen, Genivia, Inc., All Rights Reserved.
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
35 --------------------------------------------------------------------------------
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
36 GPL license.
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
37
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
38 This program is free software; you can redistribute it and/or modify it under
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
39 the terms of the GNU General Public License as published by the Free Software
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
40 Foundation; either version 2 of the License, or (at your option) any later
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
41 version.
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
42
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
43 This program is distributed in the hope that it will be useful, but WITHOUT ANY
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
44 WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
45 PARTICULAR PURPOSE. See the GNU General Public License for more details.
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
46
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
47 You should have received a copy of the GNU General Public License along with
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
48 this program; if not, write to the Free Software Foundation, Inc., 59 Temple
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
49 Place, Suite 330, Boston, MA 02111-1307 USA
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
50
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
51 Author contact information:
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
52 engelen@genivia.com / engelen@acm.org
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
53
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
54 This program is released under the GPL with the additional exemption that
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
55 compiling, linking, and/or using OpenSSL is allowed.
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
56 --------------------------------------------------------------------------------
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
57 A commercial use license is available from Genivia, Inc., contact@genivia.com
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
58 --------------------------------------------------------------------------------
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
59 */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
60
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
61 #include <time.h>
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
62
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
63 /** externally declared, replicated here as a copy (gSOAP volatile) */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
64 extern typedef volatile struct tm
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
65 { int tm_sec; //< seconds (0 - 60)
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
66 int tm_min; //< minutes (0 - 59)
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
67 int tm_hour; //< hours (0 - 23)
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
68 int tm_mday; //< day of month (1 - 31)
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
69 int tm_mon; //< month of year (0 - 11)
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
70 int tm_year; //< year - 1900
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
71 int tm_wday; //< day of week (Sunday = 0)
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
72 int tm_yday; //< day of year (0 - 365)
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
73 int tm_isdst; //< is summer time in effect?
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
74 char* tm_zone; //< abbreviation of timezone (not used)
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
75 } xsd__dateTime;