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

 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_agentmgr_h
26           #define _omi_agentmgr_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           #include <protocol/thread.h>
34           #include <protocol/selector.h>
35           
36           /*
37           **==============================================================================
38           **
39           ** AgentMgr
40           **
41           **     This type implements the CIM server agent manager module, which:
42           **
43 mike  1.1 **         (1) Spawns new agent processes
44           **
45           **         (2) Keeps track of active agent processes
46           **
47           **         (3) Retires inatcive agent processes
48           **
49           **         (4) Coordinates shutdown procedure
50           **
51           **==============================================================================
52           */
53           
54           typedef struct _AgentElem AgentElem;
55           
56           typedef struct _AgentMgr
57           {
58               ProvMgr provmgr;
59           
60               /* Directories */
61               char* home;
62               char* provDir;
63           
64 mike  1.1     Selector* selector;
65           
66               /* Linked list of indication provider contexts - one per ns/cn pair */
67               AgentElem* headAgents;
68               AgentElem* tailAgents;
69           
70           }
71           AgentMgr;
72           
73           MI_Result AgentMgr_Init(
74               AgentMgr* self,
75               Selector* selector);
76           
77           MI_Result AgentMgr_Destroy(
78               AgentMgr* self);
79           
80           MI_Result AgentMgr_HandleRequest(
81               AgentMgr* self,
82               Message* msg,
83               const ProvRegEntry* proventry);
84           
85 mike  1.1 #endif /* _omi_agentmgr_h */

ViewCVS 0.9.2