1 martin 1.5 //%LICENSE////////////////////////////////////////////////////////////////
|
2 martin 1.6 //
|
3 martin 1.5 // Licensed to The Open Group (TOG) under one or more contributor license
4 // agreements. Refer to the OpenPegasusNOTICE.txt file distributed with
5 // this work for additional information regarding copyright ownership.
6 // Each contributor licenses this file to you under the OpenPegasus Open
7 // Source License; you may not use this file except in compliance with the
8 // License.
|
9 martin 1.6 //
|
10 martin 1.5 // Permission is hereby granted, free of charge, to any person obtaining a
11 // copy of this software and associated documentation files (the "Software"),
12 // to deal in the Software without restriction, including without limitation
13 // the rights to use, copy, modify, merge, publish, distribute, sublicense,
14 // and/or sell copies of the Software, and to permit persons to whom the
15 // Software is furnished to do so, subject to the following conditions:
|
16 martin 1.6 //
|
17 martin 1.5 // The above copyright notice and this permission notice shall be included
18 // in all copies or substantial portions of the Software.
|
19 martin 1.6 //
|
20 martin 1.5 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
21 martin 1.6 // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
22 martin 1.5 // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
23 // IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
24 // CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
25 // TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
26 // SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
27 martin 1.6 //
|
28 martin 1.5 //////////////////////////////////////////////////////////////////////////
|
29 sushma.fernandes 1.1 //
30 //%/////////////////////////////////////////////////////////////////////////////
31
32 #ifndef Pegasus_SSPModuleTable_h
33 #define Pegasus_SSPModuleTable_h
34
35 #include "SSPModule.h"
36
37 PEGASUS_NAMESPACE_BEGIN
38
39 class SSPModuleTable
40 {
41
42 public:
43
44 /**
45
46 Contains Schema Special Process module info:
47
48 moduleName : Name of the Module
49
50 sushma.fernandes 1.1 moduleType : Defines the type of the schema element processed by the module.
51
52 The choices are :
53 (1) 'c' : Processes a CIMClass type.
54 (2) 'q' : Processes a CIMQualifier type.
55 (3) 'i' : Processes a CIMInstance type.
56 (4) 'a' : Processes all types (CIMClass,CIMInstance &
57 CIMQualifier)
58
59 */
60 struct SchemaSpecialProcessModuleTable
61 {
62 const char* moduleName;
63 const char* moduleType;
64 };
65
66
67 //
68 // Contains the count of number of modules.
69 //
70 static const Uint32 NUM_MODULES;
71 sushma.fernandes 1.1 };
72
|
73 kumpf 1.7 //
|
74 sushma.fernandes 1.2 // Enables module processing. If there are any modules defined in the
75 // module table below, then the following must be uncommented.
|
76 sushma.fernandes 1.1 //
|
77 kumpf 1.7 // #define ENABLE_MODULE_PROCESSING
|
78 sushma.fernandes 1.2
79 //
80 // List of Special Process Modules.
81 //
|
82 kumpf 1.7 // A sample module entry "pegsamplesspmodule" has been included below.
83 // Sample module is located under SSPModule/SampleSSPModule directory.
84 // The sample module shows a sample implementation of the processClass
85 // and processInstance methods.
|
86 sushma.fernandes 1.2 //
87 // Steps for adding a module:
88 // 1. Add an entry for the module in the structure below.
89 // 2. Uncomment the ENABLE_MODULE_PROCESSING macro defined above.
|
90 sushma.fernandes 1.1 //
|
91 sushma.fernandes 1.2 // NOTE: If no modules are defined the ENABLE_MODULE_PROCESSING macro
92 // define must be commented out.
|
93 kumpf 1.7 //
|
94 sushma.fernandes 1.1 //
|
95 sushma.fernandes 1.2 #ifdef ENABLE_MODULE_PROCESSING
|
96 kumpf 1.7 static struct SSPModuleTable::SchemaSpecialProcessModuleTable
|
97 sushma.fernandes 1.1 schemaProcessingModules[] =
98 {
|
99 sushma.fernandes 1.2 // {"pegsamplesspmodule", "a"},
|
100 sushma.fernandes 1.1 };
|
101 sushma.fernandes 1.2 #endif
|
102 sushma.fernandes 1.1
103 //
104 // Contains the count of number of modules.
105 //
|
106 sushma.fernandes 1.2 #ifdef ENABLE_MODULE_PROCESSING
|
107 sushma.fernandes 1.1 const Uint32 SSPModuleTable::NUM_MODULES =
108 sizeof(schemaProcessingModules) / sizeof(schemaProcessingModules[0]);
|
109 sushma.fernandes 1.2 #endif
|
110 sushma.fernandes 1.1
111 PEGASUS_NAMESPACE_END
112
113 #endif /* Pegasus_SSPModuleTable_h */
|