XSModelGroup.hpp

Go to the documentation of this file.
00001 /*
00002  * Licensed to the Apache Software Foundation (ASF) under one or more
00003  * contributor license agreements.  See the NOTICE file distributed with
00004  * this work for additional information regarding copyright ownership.
00005  * The ASF licenses this file to You under the Apache License, Version 2.0
00006  * (the "License"); you may not use this file except in compliance with
00007  * the License.  You may obtain a copy of the License at
00008  * 
00009  *      http://www.apache.org/licenses/LICENSE-2.0
00010  * 
00011  * Unless required by applicable law or agreed to in writing, software
00012  * distributed under the License is distributed on an "AS IS" BASIS,
00013  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00014  * See the License for the specific language governing permissions and
00015  * limitations under the License.
00016  */
00017 
00018 /*
00019  * $Id: XSModelGroup.hpp 568078 2007-08-21 11:43:25Z amassari $
00020  */
00021 
00022 #if !defined(XSMODELGROUP_HPP)
00023 #define XSMODELGROUP_HPP
00024 
00025 #include <xercesc/framework/psvi/XSObject.hpp>
00026 
00027 XERCES_CPP_NAMESPACE_BEGIN
00028 
00036 // forward declarations
00037 class XSAnnotation;
00038 class XSParticle;
00039 
00040 class XMLPARSER_EXPORT XSModelGroup : public XSObject
00041 {
00042 public:
00043 
00044     // Content model compositors
00045     enum COMPOSITOR_TYPE {
00049         COMPOSITOR_SEQUENCE       = 1,
00053         COMPOSITOR_CHOICE         = 2,
00059         COMPOSITOR_ALL            = 3
00060     };
00061     
00062     //  Constructors and Destructor
00063     // -----------------------------------------------------------------------
00066 
00076     XSModelGroup
00077     (
00078         COMPOSITOR_TYPE compositorType
00079         , XSParticleList* const particleList
00080         , XSAnnotation* const annot
00081         , XSModel* const xsModel
00082         , MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager
00083     );
00084 
00086 
00089     ~XSModelGroup();
00091 
00092     //---------------------
00095 
00101     COMPOSITOR_TYPE getCompositor() const;
00102 
00106     XSParticleList *getParticles() const;
00107 
00111     XSAnnotation *getAnnotation() const;
00112 
00114 
00115     //----------------------------------
00119 
00121 private:
00122 
00123     // -----------------------------------------------------------------------
00124     //  Unimplemented constructors and operators
00125     // -----------------------------------------------------------------------
00126     XSModelGroup(const XSModelGroup&);
00127     XSModelGroup & operator=(const XSModelGroup &);
00128 
00129 protected:
00130 
00131     // -----------------------------------------------------------------------
00132     //  data members
00133     // -----------------------------------------------------------------------
00134     COMPOSITOR_TYPE fCompositorType;
00135     XSParticleList* fParticleList;
00136     XSAnnotation*   fAnnotation;
00137 };
00138 
00139 inline XSModelGroup::COMPOSITOR_TYPE XSModelGroup::getCompositor() const
00140 {
00141     return fCompositorType;
00142 }
00143 
00144 inline XSParticleList* XSModelGroup::getParticles() const
00145 {
00146     return fParticleList;
00147 }
00148 
00149 inline XSAnnotation* XSModelGroup::getAnnotation() const
00150 {
00151     return fAnnotation;
00152 }
00153 
00154 XERCES_CPP_NAMESPACE_END
00155 
00156 #endif

Generated on Thu Feb 19 11:35:44 2009 for Xerces-C++ by  doxygen 1.5.4