Xerces-C++: XSModelGroup.hpp Source File

| API Docs for SAX and DOM |
| Main Page | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Class Members | File Members | Related Pages # XSModelGroup.hpp Go to the documentation of this file.
    00001 /*
    00002  * Copyright 2003,2004 The Apache Software Foundation.
    00003  *
    00004  * Licensed under the Apache License, Version 2.0 (the "License");
    00005  * you may not use this file except in compliance with the License.
    00006  * You may obtain a copy of the License at
    00007  *
    00008  *      http://www.apache.org/licenses/LICENSE-2.0
    00009  *
    00010  * Unless required by applicable law or agreed to in writing, software
    00011  * distributed under the License is distributed on an "AS IS" BASIS,
    00012  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    00013  * See the License for the specific language governing permissions and
    00014  * limitations under the License.
    00015  */
    00016
    00017 /*
    00018  * $Id: XSModelGroup.hpp 191054 2005-06-17 02:56:35Z jberry $
    00019  */
    00020
    00021 #if !defined(XSMODELGROUP_HPP)
    00022 #define XSMODELGROUP_HPP
    00023
    00024 #include <xercesc/framework/psvi/XSObject.hpp>
    00025
    00026 XERCES_CPP_NAMESPACE_BEGIN
    00027
    00035 // forward declarations
    00036 class XSAnnotation;
    00037 class XSParticle;
    00038
    00039 class  XSModelGroup : public XSObject
    00040 {
    00041 public:
    00042
    00043     // Content model compositors
    00044     enum COMPOSITOR_TYPE {
    00048         COMPOSITOR_SEQUENCE       = 1,
    00052         COMPOSITOR_CHOICE         = 2,
    00058         COMPOSITOR_ALL            = 3
    00059     };
    00060
    00061     //  Constructors and Destructor
    00062     // -----------------------------------------------------------------------
    00065
    00075     XSModelGroup
    00076     (
    00077         COMPOSITOR_TYPE compositorType
    00078         , XSParticleList* const particleList
    00079         , XSAnnotation* const annot
    00080         , XSModel* const xsModel
    00081         , MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager
    00082     );
    00083
    00085
    00088     ~XSModelGroup();
    00090
    00091     //---------------------
    00094
    00100     COMPOSITOR_TYPE getCompositor() const;
    00101
    00105     XSParticleList *getParticles() const;
    00106
    00110     XSAnnotation *getAnnotation() const;
    00111
    00113
    00114     //----------------------------------
    00118
    00120 private:
    00121
    00122     // -----------------------------------------------------------------------
    00123     //  Unimplemented constructors and operators
    00124     // -----------------------------------------------------------------------
    00125     XSModelGroup(const XSModelGroup&);
    00126     XSModelGroup & operator=(const XSModelGroup &);
    00127
    00128 protected:
    00129
    00130     // -----------------------------------------------------------------------
    00131     //  data members
    00132     // -----------------------------------------------------------------------
    00133     COMPOSITOR_TYPE fCompositorType;
    00134     XSParticleList* fParticleList;
    00135     XSAnnotation*   fAnnotation;
    00136 };
    00137
    00138 inline XSModelGroup::COMPOSITOR_TYPE XSModelGroup::getCompositor() const
    00139 {
    00140     return fCompositorType;
    00141 }
    00142
    00143 inline XSParticleList* XSModelGroup::getParticles() const
    00144 {
    00145     return fParticleList;
    00146 }
    00147
    00148 inline XSAnnotation* XSModelGroup::getAnnotation() const
    00149 {
    00150     return fAnnotation;
    00151 }
    00152
    00153 XERCES_CPP_NAMESPACE_END
    00154
    00155 #endif

Copyright © 1994-2004 The Apache Software Foundation. All Rights Reserved.