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: */