00001 /* 00002 * wsdlpull - A C++ parser for WSDL (Web services description language) 00003 * Copyright (C) 2005-2007 Vivek Krishna 00004 * 00005 * This library is free software; you can redistribute it and/or 00006 * modify it under the terms of the GNU Library General Public 00007 * License as published by the Free Software Foundation; either 00008 * version 2 of the License, or (at your option) any later version. 00009 * 00010 * This library is distributed in the hope that it will be useful, 00011 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00012 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00013 * Library General Public License for more details. 00014 * 00015 * You should have received a copy of the GNU Library General Public 00016 * License along with this library; if not, write to the Free 00017 * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 00018 * 00019 */ 00020 00021 // ********************************************************************* 00022 // Include files: 00023 // ********************************************************************* 00024 #include "schemaparser/Element.h" 00025 #include "schemaparser/Group.h" 00026 00027 namespace Schema { 00028 Group::Group() 00029 :maxOccurs_(1), 00030 minOccurs_(1) 00031 { 00032 } 00033 00034 Group::Group(const std::string & n, 00035 int minimum, 00036 int maximum) 00037 :maxOccurs_(maximum), 00038 minOccurs_(minimum), 00039 name_(n), 00040 cm_(0), 00041 ref_(false) 00042 { 00043 } 00044 00045 Group::Group(const Group & g) 00046 :maxOccurs_(g.maxOccurs_), 00047 minOccurs_(g.minOccurs_), 00048 name_(g.name_), 00049 cm_(g.cm_), 00050 ref_(true) 00051 { 00052 } 00053 00054 Group::~Group() 00055 { 00056 if(ref_==false && cm_) 00057 delete cm_; 00058 } 00059 }