serialization_callback.h
Go to the documentation of this file.
1 /*
2  * Copyright 2006-2008 The FLWOR Foundation.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 #ifndef ZORBA_SERIALIZATION_CALLBACK_H
17 #define ZORBA_SERIALIZATION_CALLBACK_H
18 
19 #include <zorba/config.h>
20 #include <zorba/api_shared_types.h>
21 #include <ostream>
22 
23 namespace zorba {
24 
25  class ZORBA_DLL_PUBLIC SerializationCallback {
26 
27  public:
29 
30  virtual ExternalModule*
31  getExternalModule(const String& aURI) const;
32 
33  virtual bool
34  getTraceStream(std::ostream*&) const;
35 
36  /**
37  * Get the i-th URIMapper that was registered before
38  * serialization.
39  */
40  virtual URIMapper*
41  getURIMapper(size_t i) const;
42 
43  /**
44  * Get the i-th URLResolver that was registered before
45  * serialization.
46  */
47  virtual URLResolver*
48  getURLResolver(size_t i) const;
49  };
50 
51 } /* namespace zorba */
52 
53 #endif
54 /* vim:set et sw=2 ts=2: */
Interface for URI mapping.
Interface for URL resolving.
The Zorba string class.
Definition: zorba_string.h:33
An external module represents a group of external functions, all belonging to the same target namespa...