api_shared_types.h
Go to the documentation of this file.
00001 /*
00002  * Copyright 2006-2008 The FLWOR 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 #ifndef ZORBA_SHARED_TYPES_INCL_H
00017 #define ZORBA_SHARED_TYPES_INCL_H
00018 
00019 #include <memory>
00020 
00021 #include <zorba/config.h>
00022 #include <zorba/smart_ptr.h>
00023 
00024 namespace zorba {
00025 
00026   class Zorba;
00027   class XQuery;
00028   class StaticContext;
00029   class DynamicContext;
00030   class XmlDataManager;
00031   class DocumentManager;
00032   class CollectionManager;
00033   class StaticCollectionManager;
00034   class ItemFactory;
00035   class Iterator;
00036   class StatelessExternalFunction;
00037   class ExternalModule;
00038   class TypeIdentifier;
00039   class ItemSequence;
00040   class Collection;
00041   class Function;
00042   class Annotation;
00043   class SerializationCallback;
00044   class File;
00045   class DirectoryIterator;
00046   class Serializer;
00047 
00048   class DiagnosticHandler;
00049   class QueryLocation;
00050   typedef SmartPtr<QueryLocation> QueryLocation_t;
00051 
00052 #ifndef ZORBA_NO_FULL_TEXT
00053   class StemmerProvider;
00054   class TokenizerProvider;
00055 #endif /* ZORBA_NO_FULL_TEXT */
00056 
00057   // smart pointers
00058   typedef zorba::SmartPtr<XQuery>                  XQuery_t;
00059   typedef zorba::SmartPtr<StaticContext>           StaticContext_t;
00060   typedef zorba::SmartPtr<Iterator>                Iterator_t;
00061   typedef zorba::SmartPtr<TypeIdentifier>          TypeIdentifier_t;
00062   typedef zorba::SmartPtr<Collection>              Collection_t;
00063   typedef zorba::SmartPtr<Function>                Function_t;
00064   typedef zorba::SmartPtr<Annotation>              Annotation_t;
00065   typedef zorba::SmartPtr<File>                    File_t;
00066   typedef zorba::SmartPtr<DirectoryIterator>       DirectoryIterator_t;
00067   typedef zorba::SmartPtr<Serializer>              Serializer_t;
00068   typedef zorba::SmartPtr<ItemSequence>            ItemSequence_t;
00069 
00070   // data handlers
00071   class Item;
00072   class String;
00073 
00074   // uri resolvers
00075   class URIMapper;
00076   class Resource;
00077   class URLResolver;
00078 
00079   namespace audit {
00080     class Provider;
00081     class Event;
00082     class ScopedRecord;
00083   }
00084 
00085 } /* namespace zorba */
00086 #endif
00087 /* vim:set et sw=2 ts=2: */
blog comments powered by Disqus