(file) Return to AggregationContext.h CVS log (file) (dir) Up to [OMI] / omi / provmgr

 1 krisbash 1.1 /*
 2              **==============================================================================
 3              **
 4              ** Open Management Infrastructure (OMI)
 5              **
 6              ** Copyright (c) Microsoft Corporation
 7              ** 
 8              ** Licensed under the Apache License, Version 2.0 (the "License"); you may not 
 9              ** use this file except in compliance with the License. You may obtain a copy 
10              ** of the License at 
11              **
12              **     http://www.apache.org/licenses/LICENSE-2.0 
13              **
14              ** THIS CODE IS PROVIDED *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15              ** KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED 
16              ** WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, 
17              ** MERCHANTABLITY OR NON-INFRINGEMENT. 
18              **
19              ** See the Apache 2 License for the specific language governing permissions 
20              ** and limitations under the License.
21              **
22 krisbash 1.1 **==============================================================================
23              */
24              
25              #ifndef _aggregationcontext_h
26              #define _aggregationcontext_h
27              
28              #include "context.h"
29              #include "provmgr.h"
30              #include <common.h>
31              
32              BEGIN_EXTERNC
33              
34              struct _SubscriptionManager;
35              
36              /*
37               * Master context for handling subscriptions to a class/provider.  It holds the
38               * MI_Context passed during Enable and Disable indications calls to registered
39               * MI providers.
40               */
41              typedef struct _AggregationContext
42              {
43 krisbash 1.1     Context baseCtx;
44                  struct _SubscriptionManager* mgr;
45              
46              } AggregationContext;
47              
48              AggregationContext* AggrContext_New();
49              
50              void AggrContext_Delete(
51                  _In_ _Post_invalid_ AggregationContext* self );
52              
53              MI_Result AggrContext_Init(
54                  _Inout_ AggregationContext* self,
55                  _In_ Provider* provider,
56                  _In_  struct _SubscriptionManager* mgr );
57              
58              void AggrContext_Close(
59                  _Inout_ AggregationContext* self );
60              
61              struct _SubscriptionManager* AggrContext_GetManager(
62                  _In_ AggregationContext* self );
63              
64 krisbash 1.1 END_EXTERNC
65              
66              #endif /* _aggregationcontext_h */
67              

ViewCVS 0.9.2