(file) Return to proxy.h CVS log (file) (dir) Up to [Pegasus] / pegasus / src / Pegasus / ProviderManager2 / CMPIR

  1 martin 1.12 //%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.12 // 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 schuur 1.1  //
 30             //%/////////////////////////////////////////////////////////////////////////////
 31             
 32             /*!
 33 ms.aruran 1.11     \file proxy.h
 34                    \brief Proxy Provider header file.
 35 schuur    1.1  */
 36                
 37                #ifndef _REMOTE_CMPI_PROXY_H
 38 ms.aruran 1.11 #define _REMOTE_CMPI_PROXY_H
 39                
 40 schuur    1.1  typedef struct _RemoteCMPIInstanceMI    RemoteCMPIInstanceMI;
 41                typedef struct _RemoteCMPIAssociationMI RemoteCMPIAssociationMI;
 42                typedef struct _RemoteCMPIMethodMI      RemoteCMPIMethodMI;
 43                typedef struct _RemoteCMPIPropertyMI    RemoteCMPIPropertyMI;
 44                typedef struct _RemoteCMPIIndicationMI  RemoteCMPIIndicationMI;
 45                
 46                typedef struct provider_comm            provider_comm;
 47 ms.aruran 1.11 
 48                #ifndef CMPI_VER_100
 49                # define CMPI_VER_100
 50                #endif
 51                
 52                #ifndef CONST
 53                # ifdef CMPI_VER_100
 54                #  define CONST const
 55                # else
 56                #  define CONST
 57                # endif
 58 konrad.r  1.5  #endif
 59 schuur    1.1  
 60                #include <Pegasus/Provider/CMPI/cmpidt.h>
 61                #include <Pegasus/Provider/CMPI/cmpift.h>
 62 konrad.r  1.5  #include <Pegasus/Provider/CMPI/cmpimacs.h>
 63 schuur    1.1  #include "ticket.h"
 64                #include "resolver.h"
 65                
 66                
 67 ms.aruran 1.11 typedef provider_comm * (* INIT_COMM_LAYER) \
 68                    ( CONST CMPIBroker *, CONST CMPIContext * );
 69 schuur    1.1  #define REMOTE_CMPI_MI(name) \
 70 ms.aruran 1.11     struct _RemoteCMPI##name##MI { \
 71                        CMPI##name##MI ref; \
 72                        char * provider; \
 73                        CONST CMPIBroker * broker; \
 74                        comm_ticket ticket; \
 75                    };
 76 schuur    1.1  
 77 carson.hovey 1.9  REMOTE_CMPI_MI(Instance)
 78                   REMOTE_CMPI_MI(Association)
 79                   REMOTE_CMPI_MI(Method)
 80                   REMOTE_CMPI_MI(Property)
 81                   REMOTE_CMPI_MI(Indication)
 82 schuur       1.1  
 83 konrad.r     1.5  #ifdef CMPI_VER_100
 84 ms.aruran    1.11     /**
 85                           provides access to the communication layer for MI calls 
 86                       */
 87                       struct provider_comm
 88                       {
 89                   
 90                           char * id;
 91                           // instance provider function pointers
 92                           CMPIStatus (* InstanceMI_enumInstanceNames) ( 
 93                               provider_address *,
 94                               RemoteCMPIInstanceMI *,
 95                               const CMPIContext *,
 96                               const CMPIResult *,
 97                               const CMPIObjectPath * );
 98                           CMPIStatus (* InstanceMI_enumInstances) ( 
 99                               provider_address *,
100                               RemoteCMPIInstanceMI *,
101                               const CMPIContext *,
102                               const CMPIResult *,
103                               const CMPIObjectPath *,
104                               const char ** );
105 ms.aruran    1.11         CMPIStatus (* InstanceMI_getInstance) ( 
106                               provider_address *,
107                               RemoteCMPIInstanceMI *,
108                               const CMPIContext *,
109                               const CMPIResult *,
110                               const CMPIObjectPath *,
111                               const char ** );
112                           CMPIStatus (* InstanceMI_createInstance) ( 
113                               provider_address *,
114                               RemoteCMPIInstanceMI *,
115                               const CMPIContext *,
116                               const CMPIResult *,
117                               const CMPIObjectPath *,
118                               const CMPIInstance * );
119                           CMPIStatus (* InstanceMI_setInstance) ( 
120                               provider_address *,
121                               RemoteCMPIInstanceMI *,
122                               const CMPIContext *,
123                               const CMPIResult *,
124                               const CMPIObjectPath *,
125                               const CMPIInstance *,
126 ms.aruran    1.11             const char ** );
127                           CMPIStatus (* InstanceMI_deleteInstance) ( 
128                               provider_address *,
129                               RemoteCMPIInstanceMI *,
130                               const CMPIContext *,
131                               const CMPIResult *,
132                               const CMPIObjectPath * );
133                           CMPIStatus (* InstanceMI_execQuery) ( 
134                               provider_address *,
135                               RemoteCMPIInstanceMI *,
136                               const CMPIContext *,
137                               const CMPIResult *,
138                               const CMPIObjectPath *,
139                               const char *,
140                               const char * );
141                   
142                           // associator provider function pointers
143                           CMPIStatus (* AssociationMI_associators) ( 
144                               provider_address *,
145                               RemoteCMPIAssociationMI *,
146                               const CMPIContext *,
147 ms.aruran    1.11             const CMPIResult *,
148                               const CMPIObjectPath *,
149                               const char *,
150                               const char *,
151                               const char *,
152                               const char *,
153                               const char ** );
154                           CMPIStatus (* AssociationMI_associatorNames) ( 
155                               provider_address *,
156                               RemoteCMPIAssociationMI *,
157                               const CMPIContext *,
158                               const CMPIResult *,
159                               const CMPIObjectPath *,
160                               const char *,
161                               const char *,
162                               const char *,
163                               const char * );
164                           CMPIStatus (* AssociationMI_references) ( 
165                               provider_address *,
166                               RemoteCMPIAssociationMI *,
167                               const CMPIContext *,
168 ms.aruran    1.11             const CMPIResult *,
169                               const CMPIObjectPath *,
170                               const char *,
171                               const char *,
172                               const char ** );
173                           CMPIStatus (* AssociationMI_referenceNames) ( 
174                               provider_address *,
175                               RemoteCMPIAssociationMI *,
176                               const CMPIContext *,
177                               const CMPIResult *,
178                               const CMPIObjectPath *,
179                               const char *,
180                               const char * );
181                   
182                           // method provider function pointers
183                           CMPIStatus (* MethodMI_invokeMethod) ( 
184                               provider_address *,
185                               RemoteCMPIMethodMI *,
186                               const CMPIContext *,
187                               const CMPIResult *,
188                               const CMPIObjectPath *,
189 ms.aruran    1.11             const char *,
190                               const CMPIArgs *,
191                               CMPIArgs * );
192                   
193                           // property provider function pointers
194                           CMPIStatus (* PropertyMI_setProperty) ( 
195                               provider_address *,
196                               RemoteCMPIPropertyMI *,
197                               const CMPIContext *,
198                               const CMPIResult *,
199                               const CMPIObjectPath *,
200                               const char *,
201                               const CMPIData );
202                           CMPIStatus (* PropertyMI_getProperty) ( 
203                               provider_address *,
204                               RemoteCMPIPropertyMI *,
205                               const CMPIContext *,
206                               const CMPIResult *,
207                               const CMPIObjectPath *,
208                               const char * );
209                   
210 ms.aruran    1.11         // indication provider function pointers
211                           CMPIStatus (* IndicationMI_authorizeFilter) ( 
212                               provider_address *,
213                               RemoteCMPIIndicationMI *,
214                               const CMPIContext *,
215                               const CMPISelectExp *,
216                               const char *,
217                               const CMPIObjectPath *,
218                               const char * );
219                           CMPIStatus (* IndicationMI_mustPoll) ( 
220                               provider_address *,
221                               RemoteCMPIIndicationMI *,
222                               const CMPIContext *,
223                               const CMPISelectExp *,
224                               const char *,
225                               const CMPIObjectPath *);
226                           CMPIStatus (* IndicationMI_activateFilter) ( 
227                               provider_address *,
228                               RemoteCMPIIndicationMI *,
229                               const CMPIContext *,
230                               const CMPISelectExp *,
231 ms.aruran    1.11             const char *,
232                               const CMPIObjectPath *,
233                               CMPIBoolean );
234                           CMPIStatus (* IndicationMI_deActivateFilter) ( 
235                               provider_address *,
236                               RemoteCMPIIndicationMI *,
237                               const CMPIContext *,
238                               const CMPISelectExp *,
239                               const char *,
240                               const CMPIObjectPath *,
241                               CMPIBoolean );
242                           // IBMKR: General terminate function
243                           CMPIStatus  (* terminate) ();
244                   
245                           // Adding enable and disable indications -V 5245
246                           CMPIStatus (* IndicationMI_enableIndications) ( 
247                               provider_address *,
248                               RemoteCMPIIndicationMI *,
249                               const CMPIContext *);
250                           CMPIStatus (* IndicationMI_disableIndications) ( 
251                               provider_address *,
252 ms.aruran    1.11             RemoteCMPIIndicationMI *,
253                               const CMPIContext *);
254                   
255                   
256                           struct provider_comm * next;
257                           void * handle;
258                       };
259 schuur       1.1  
260 konrad.r     1.5  #else
261 ms.aruran    1.11     /**
262                           provides access to the communication layer for MI calls
263                       */
264                       struct provider_comm
265                       {
266                   
267                           char * id;
268                   
269                           // instance provider function pointers
270                           CMPIStatus (* InstanceMI_enumInstanceNames) ( 
271                               provider_address *,
272                               RemoteCMPIInstanceMI *,
273                               CMPIContext *,
274                               CMPIResult *,
275                               CMPIObjectPath * );
276                           CMPIStatus (* InstanceMI_enumInstances) ( 
277                               provider_address *,
278                               RemoteCMPIInstanceMI *,
279                               CMPIContext *,
280                               CMPIResult *,
281                               CMPIObjectPath *,
282 ms.aruran    1.11             char ** );
283                           CMPIStatus (* InstanceMI_getInstance) ( 
284                               provider_address *,
285                               RemoteCMPIInstanceMI *,
286                               CMPIContext *,
287                               CMPIResult *,
288                               CMPIObjectPath *,
289                               char ** );
290                           CMPIStatus (* InstanceMI_createInstance) ( 
291                               provider_address *,
292                               RemoteCMPIInstanceMI *,
293                               CMPIContext *,
294                               CMPIResult *,
295                               CMPIObjectPath *,
296                               CMPIInstance * );
297                           CMPIStatus (* InstanceMI_setInstance) ( 
298                               provider_address *,
299                               RemoteCMPIInstanceMI *,
300                               CMPIContext *,
301                               CMPIResult *,
302                               CMPIObjectPath *,
303 ms.aruran    1.11             CMPIInstance *,
304                               char ** );
305                           CMPIStatus (* InstanceMI_deleteInstance) ( 
306                               provider_address *,
307                               RemoteCMPIInstanceMI *,
308                               CMPIContext *,
309                               CMPIResult *,
310                               CMPIObjectPath * );
311                           CMPIStatus (* InstanceMI_execQuery) ( 
312                               provider_address *,
313                               RemoteCMPIInstanceMI *,
314                               CMPIContext *,
315                               CMPIResult *,
316                               CMPIObjectPath *,
317                               char *,
318                               char * );
319                   
320                           // associator provider function pointers
321                           CMPIStatus (* AssociationMI_associators) ( 
322                               provider_address *,
323                               RemoteCMPIAssociationMI *,
324 ms.aruran    1.11             CMPIContext *,
325                               CMPIResult *,
326                               CMPIObjectPath *,
327                               const char *,
328                               const char *,
329                               const char *,
330                               const char *,
331                               char ** );
332                           CMPIStatus (* AssociationMI_associatorNames) ( 
333                               provider_address *,
334                               RemoteCMPIAssociationMI *,
335                               CMPIContext *,
336                               CMPIResult *,
337                               CMPIObjectPath *,
338                               const char *,
339                               const char *,
340                               const char *,
341                               const char * );
342                           CMPIStatus (* AssociationMI_references) ( 
343                               provider_address *,
344                               RemoteCMPIAssociationMI *,
345 ms.aruran    1.11             CMPIContext *,
346                               CMPIResult *,
347                               CMPIObjectPath *,
348                               const char *,
349                               const char *,
350                               char ** );
351                           CMPIStatus (* AssociationMI_referenceNames) ( 
352                               provider_address *,
353                               RemoteCMPIAssociationMI *,
354                               CMPIContext *,
355                               CMPIResult *,
356                               CMPIObjectPath *,
357                               const char *,
358                               const char * );
359                   
360                           // method provider function pointers
361                           CMPIStatus (* MethodMI_invokeMethod) ( 
362                               provider_address *,
363                               RemoteCMPIMethodMI *,
364                               CMPIContext *,
365                               CMPIResult *,
366 ms.aruran    1.11             CMPIObjectPath *,
367                               const char *,
368                               CMPIArgs *,
369                               CMPIArgs * );
370                   
371                           // property provider function pointers
372                           CMPIStatus (* PropertyMI_setProperty) ( 
373                               provider_address *,
374                               RemoteCMPIPropertyMI *,
375                               CMPIContext *,
376                               CMPIResult *,
377                               CMPIObjectPath *,
378                               const char *,
379                               CMPIData );
380                           CMPIStatus (* PropertyMI_getProperty) ( 
381                               provider_address *,
382                               RemoteCMPIPropertyMI *,
383                               CMPIContext *,
384                               CMPIResult *,
385                               CMPIObjectPath *,
386                               const char * );
387 ms.aruran    1.11 
388                           // indication provider function pointers
389                           CMPIStatus (* IndicationMI_authorizeFilter) ( 
390                               provider_address *,
391                               RemoteCMPIIndicationMI *,
392                               CMPIContext *,
393                               CMPIResult *,
394                               CMPIObjectPath *,
395                               CMPISelectExp *,
396                               const char *,
397                               const char * );
398                           CMPIStatus (* IndicationMI_mustPoll) ( 
399                               provider_address *,
400                               RemoteCMPIIndicationMI *,
401                               CMPIContext *,
402                               CMPIResult *,
403                               CMPIObjectPath *,
404                               CMPISelectExp *,
405                               const char * );
406                           CMPIStatus (* IndicationMI_activateFilter) ( 
407                               provider_address *,
408 ms.aruran    1.11             RemoteCMPIIndicationMI *,
409                               CMPIContext *,
410                               CMPIResult *,
411                               CMPIObjectPath *,
412                               CMPISelectExp *,
413                               const char *,
414                               CMPIBoolean );
415                           CMPIStatus (* IndicationMI_deActivateFilter) ( 
416                               provider_address *,
417                               RemoteCMPIIndicationMI *,
418                               CMPIContext *,
419                               CMPIResult *,
420                               CMPIObjectPath *,
421                               CMPISelectExp *,
422                               const char *,
423                               CMPIBoolean );
424                           // IBMKR: General terminate function
425                           CMPIStatus  (* terminate) ();
426                   
427                           // Adding enable and disable indications -V 5245
428                           CMPIStatus (* IndicationMI_enableIndications) ( 
429 ms.aruran    1.11             provider_address *,
430                               RemoteCMPIIndicationMI *);
431                           CMPIStatus (* IndicationMI_disableIndications) ( 
432                               provider_address *,
433                               RemoteCMPIIndicationMI *);
434                   
435                           struct provider_comm * next;
436                           void * handle;
437                       };
438 konrad.r     1.5  #endif
439 schuur       1.1  
440 ms.aruran    1.11 provider_comm * load_provider_comm ( 
441                       const char * comm_id,
442                       CONST CMPIBroker * broker,
443                       CONST CMPIContext * ctx );
444                   void unload_provider_comms ();
445 marek        1.3  
446 schuur       1.1  
447 ms.aruran    1.11 unsigned long int save_context ( CONST CMPIContext * ctx );
448                   CONST CMPIContext * get_context ( unsigned long int id );
449                   void remove_context ( unsigned long int id );
450                   void cleanup_context ();
451 schuur       1.1  #endif

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2