module_info.h
Go to the documentation of this file.
1 /*
2  * Copyright 2013 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_MODULE_INFO_H
17 #define ZORBA_MODULE_INFO_H
18 
19 #include <zorba/config.h>
20 #include <zorba/api_shared_types.h>
21 
22 namespace zorba {
23 
24  /** \brief Information about a main or library module.
25  *
26  */
27  class ZORBA_DLL_PUBLIC ModuleInfo : public SmartObject
28  {
29  public:
30  virtual ~ModuleInfo() {}
31 
32  /**
33  * Return the target namespace of the module.
34  *
35  * @return the target namespace or the empty
36  * string if the module is a main module.
37  */
38  virtual zorba::String
39  getTargetNamespace() const = 0;
40 
41  /**
42  * @return true if the module is a library module,
43  * false otherwise.
44  */
45  virtual bool
46  isLibraryModule() const = 0;
47 
48  }; /* class ModuleInfo */
49 
50 } // namespace zorba
51 #endif /* ZORBA_MODULE_INFO_H */
52 /* vim:set et sw=2 ts=2: */