00001 /* 00002 00003 gwsdl.h 00004 00005 OGSI GWSDL binding schema interface 00006 00007 -------------------------------------------------------------------------------- 00008 gSOAP XML Web services tools 00009 Copyright (C) 2004, Robert van Engelen, Genivia, Inc. All Rights Reserved. 00010 00011 GPL license. 00012 00013 This program is free software; you can redistribute it and/or modify it under 00014 the terms of the GNU General Public License as published by the Free Software 00015 Foundation; either version 2 of the License, or (at your option) any later 00016 version. 00017 00018 This program is distributed in the hope that it will be useful, but WITHOUT ANY 00019 WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A 00020 PARTICULAR PURPOSE. See the GNU General Public License for more details. 00021 00022 You should have received a copy of the GNU General Public License along with 00023 this program; if not, write to the Free Software Foundation, Inc., 59 Temple 00024 Place, Suite 330, Boston, MA 02111-1307 USA 00025 00026 Author contact information: 00027 engelen@genivia.com / engelen@acm.org 00028 -------------------------------------------------------------------------------- 00029 00030 */ 00031 00032 //gsoap gwsdl schema documentation: OGSI GWSDL binding schema 00033 //gsoap gwsdl schema namespace: http://www.gridforum.org/namespaces/2003/03/gridWSDLExtensions 00034 //gsoap sd schema namespace: http://www.gridforum.org/namespaces/2003/03/serviceData 00035 00036 #import "schema.h" 00037 00038 class wsdl__operation; 00039 00040 enum sd__mutability { static_, constant, extendable, mutable_ }; 00041 00042 class sd__serviceData 00043 { public: 00044 @xsd__NMTOKEN name; 00045 @xsd__QName type; 00046 @xsd__boolean nillable = false; 00047 @xsd__string minOccurs; // xsd:nonNegativeInteger 00048 @xsd__string maxOccurs; // xsd:nonNegativeInteger|unbounded 00049 @enum sd__mutability mutability = extendable; 00050 @xsd__boolean modifiable = false; 00051 /* has any content */ 00052 public: 00053 }; 00054 00055 class sd__staticServiceDataValues 00056 { public: 00057 int __type; /* any content, probably should use XML string */ 00058 void* _any; 00059 }; 00060 00061 class gwsdl__portType 00062 { public: 00063 @xsd__NMTOKEN name; 00064 @xsd__QName extends; // actually a list of QNames 00065 xsd__string documentation; // <wsdl:documentation>? 00066 std::vector<wsdl__operation*> operation; // <wsdl:operation>* 00067 std::vector<sd__serviceData> sd__serviceData_; 00068 sd__staticServiceDataValues *sd__staticServiceDataValues_; 00069 public: 00070 };