1 mike 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 mike 1.1 **==============================================================================
23 */
24
25 #ifndef _omi_disp_h
26 #define _omi_disp_h
27
28 #include <common.h>
29 #include <base/base.h>
30 #include <base/messages.h>
31 #include <provreg/provreg.h>
32 #include <provmgr/provmgr.h>
|
33 krisbash 1.4 #include <pal/thread.h>
34 #include <pal/atomic.h>
35 #include <indication/indimgr/mgr.h>
|
36 mike 1.1 #include "agentmgr.h"
37
38 /*
39 **==============================================================================
40 **
41 ** Disp
42 **
43 ** This type implements the CIM server dispatcher module, which:
44 **
45 ** (1) Accepts request messages (and a response callback).
46 **
47 ** (2) Creates sub-messages using the class relationships expressed
48 ** in the provider registry.
49 **
50 ** (3) Delegates messages and a response callback to the provider
51 ** manager.
52 **
53 ** (4) Accepts response messages and routes them back to the requestor.
54 **
55 **==============================================================================
56 */
57 mike 1.1
58 typedef struct _Disp
59 {
60 ProvReg provreg;
61 AgentMgr agentmgr;
62
|
63 krisbash 1.4 #ifndef DISABLE_INDICATION
64 IndicationManager *indmgr;
65 #endif /* ifndef DISABLE_INDICATION */
|
66 mike 1.1 }
67 Disp;
68
69 MI_Result Disp_Init(
70 Disp* self,
71 Selector* selector);
72
|
73 krisbash 1.5 MI_Result Disp_Reload(
74 Disp* self);
75
|
76 mike 1.1 MI_Result Disp_Destroy(
77 Disp* self);
78
|
79 krisbash 1.5
|
80 krisbash 1.4 MI_Result Disp_HandleInteractionRequest(
81 _In_ Disp* self,
82 _Inout_ InteractionOpenParams* params );
|
83 mike 1.1
84 #endif /* _omi_disp_h */
|