(file) Return to MRR.h CVS log (file) (dir) Up to [Pegasus] / pegasus / src / Pegasus / Repository

 1 martin 1.2 //%LICENSE////////////////////////////////////////////////////////////////
 2            // 
 3            // 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            // 
10            // 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            // 
17            // The above copyright notice and this permission notice shall be included
18            // in all copies or substantial portions of the Software.
19            // 
20            // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
21            // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 
22 martin 1.2 // 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            // 
28            //////////////////////////////////////////////////////////////////////////
29 mike   1.1 //
30            //%/////////////////////////////////////////////////////////////////////////////
31            
32            #ifndef _Pegasus_Repository_MRR_h
33            #define _Pegasus_Repository_MRR_h
34            
35            #include <Pegasus/Common/Config.h>
36            #include <Pegasus/Common/Buffer.h>
37            #include "MRRTypes.h"
38            #include "Linkage.h"
39            
40            PEGASUS_NAMESPACE_BEGIN
41            
42            // Installs the initialize callback that is called when the repository is 
43            // initially created (from the MemoryResidentRepository constructor).
44            PEGASUS_REPOSITORY_LINKAGE void MRRInstallInitializeCallback(
45                void (*callback)(class CIMRepository* repository, void * data),
46                void *data);
47            
48            // Installs the global save callback that is called when the memory-resident
49            // instance repository is modified. The buffer argument is a serialized
50 mike   1.1 // copy of the memory-resident instance repository. The callback can do
51            // things such as save the buffer on disk for later use.
52            PEGASUS_REPOSITORY_LINKAGE void MRRInstallSaveCallback(
53                void (*callback)(const Buffer& buffer, void* data),
54                void* data);
55            
56            // Installs the global load callback that is called when an instance of
57            // MemoryResidentRepository is created in order to load the initial set
58            // of instances (if any).
59            PEGASUS_REPOSITORY_LINKAGE void MRRInstallLoadCallback(
60                void (*callback)(Buffer& buffer, void* data),
61                void* data);
62            
63            // Add the given namespace of qualifier declarations and classes.
64            PEGASUS_REPOSITORY_LINKAGE Boolean MRRAddNameSpace(
65                const MRRNameSpace* nameSpace);
66            
67            PEGASUS_NAMESPACE_END
68            
69            #endif /* _Pegasus_Repository_MRR_h */

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2