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

File: [Pegasus] / pegasus / src / Pegasus / ProviderManager2 / CMPIR / proxy.h (download)
Revision: 1.2, Sun Oct 17 19:40:02 2004 UTC (19 years, 8 months ago) by karl
Branch: MAIN
CVS Tags: RELEASE_2_4_3, RELEASE_2_4_2, RELEASE_2_4_1-BETA3, RELEASE_2_4_1-BETA2, RELEASE_2_4_1-BETA1, RELEASE_2_4_1, RELEASE_2_4_0-RC3, RELEASE_2_4_0-RC2, RELEASE_2_4_0, RELEASE_2_4-root, RELEASE_2_4-branch, PEP213_SIZE_OPTIMIZATIONS, IBM_241_April1405, CHUNKTESTDONE_PEP140
Changes since 1.1: +7 -5 lines
BUG#: 2196
TITLE: Copyright update

DESCRIPTION: Update all .cpp and .h files for new license and
update the doc/license.txt file.  Note that there were also
a couple of files that had to be fixed because they had violated
the comments rules (ex. blank line at head of file or in the case of
xmlwriter.cpp a comment line //=========  which drove the strip
function nuts.  These were fixed.  This has been compiled and tested
on windows.

//%2004////////////////////////////////////////////////////////////////////////
//
// Copyright (c) 2000, 2001, 2002 BMC Software; Hewlett-Packard Development
// Company, L.P.; IBM Corp.; The Open Group; Tivoli Systems.
// Copyright (c) 2003 BMC Software; Hewlett-Packard Development Company, L.P.;
// IBM Corp.; EMC Corporation, The Open Group.
// Copyright (c) 2004 BMC Software; Hewlett-Packard Development Company, L.P.;
// IBM Corp.; EMC Corporation; VERITAS Software Corporation; The Open Group.
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to
// deal in the Software without restriction, including without limitation the
// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
// sell copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
// 
// THE ABOVE COPYRIGHT NOTICE AND THIS PERMISSION NOTICE SHALL BE INCLUDED IN
// ALL COPIES OR SUBSTANTIAL PORTIONS OF THE SOFTWARE. THE SOFTWARE IS PROVIDED
// "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
// LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
// PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
//==============================================================================
//
// Author: Frank Scheffler
//
// Modified By:  Adrian Schuur (schuur@de.ibm.com)
//
//%/////////////////////////////////////////////////////////////////////////////

/*!
  \file proxy.h
  \brief Proxy Provider header file.

  \author Frank Scheffler
*/

#ifndef _REMOTE_CMPI_PROXY_H
#define _REMOTE_CMPI_PROXY_H


typedef struct _RemoteCMPIInstanceMI    RemoteCMPIInstanceMI;
typedef struct _RemoteCMPIAssociationMI RemoteCMPIAssociationMI;
typedef struct _RemoteCMPIMethodMI      RemoteCMPIMethodMI;
typedef struct _RemoteCMPIPropertyMI    RemoteCMPIPropertyMI;
typedef struct _RemoteCMPIIndicationMI  RemoteCMPIIndicationMI;

typedef struct provider_comm            provider_comm;


#define CMPI_VERSION 90

#include <Pegasus/Provider/CMPI/cmpimacs.h>
#include <Pegasus/Provider/CMPI/cmpidt.h>
#include <Pegasus/Provider/CMPI/cmpift.h>

#include "ticket.h"
#include "resolver.h"


typedef provider_comm * (* INIT_COMM_LAYER) ( CMPIBroker *, CMPIContext * );

#define REMOTE_CMPI_MI(name) \
        struct _RemoteCMPI##name##MI { \
                CMPI##name##MI ref; \
                char * provider; \
                CMPIBroker * broker; \
                comm_ticket ticket; \
        };


REMOTE_CMPI_MI(Instance);
REMOTE_CMPI_MI(Association);
REMOTE_CMPI_MI(Method);
REMOTE_CMPI_MI(Property);
REMOTE_CMPI_MI(Indication);





/**
 * provides access to the communication layer for MI calls
 */
struct provider_comm {

  char * id;

  // instance provider function pointers
  CMPIStatus (* InstanceMI_enumInstanceNames) ( provider_address *,
						RemoteCMPIInstanceMI *,
						CMPIContext *,
						CMPIResult *,
						CMPIObjectPath * );
  CMPIStatus (* InstanceMI_enumInstances) ( provider_address *,
					    RemoteCMPIInstanceMI *,
					    CMPIContext *,
					    CMPIResult *,
					    CMPIObjectPath *,
					    char ** );
  CMPIStatus (* InstanceMI_getInstance) ( provider_address *,
					  RemoteCMPIInstanceMI *,
					  CMPIContext *,
					  CMPIResult *,
					  CMPIObjectPath *,
					  char ** );
  CMPIStatus (* InstanceMI_createInstance) ( provider_address *,
					     RemoteCMPIInstanceMI *,
					     CMPIContext *,
					     CMPIResult *,
					     CMPIObjectPath *,
					     CMPIInstance * );
  CMPIStatus (* InstanceMI_setInstance) ( provider_address *,
					  RemoteCMPIInstanceMI *,
					  CMPIContext *,
					  CMPIResult *,
					  CMPIObjectPath *,
					  CMPIInstance *,
					  char ** );
  CMPIStatus (* InstanceMI_deleteInstance) ( provider_address *,
					     RemoteCMPIInstanceMI *,
					     CMPIContext *,
					     CMPIResult *,
					     CMPIObjectPath * );
  CMPIStatus (* InstanceMI_execQuery) ( provider_address *,
					RemoteCMPIInstanceMI *,
					CMPIContext *,
					CMPIResult *,
					CMPIObjectPath *,
					char *,
					char * );

  // associator provider function pointers
  CMPIStatus (* AssociationMI_associators) ( provider_address *,
					     RemoteCMPIAssociationMI *,
					     CMPIContext *,
					     CMPIResult *,
					     CMPIObjectPath *,
					     const char *,
					     const char *,
					     const char *,
					     const char *,
					     char ** );
  CMPIStatus (* AssociationMI_associatorNames) ( provider_address *,
						 RemoteCMPIAssociationMI *,
						 CMPIContext *,
						 CMPIResult *,
						 CMPIObjectPath *,
						 const char *,
						 const char *,
						 const char *,
						 const char * );
  CMPIStatus (* AssociationMI_references) ( provider_address *,
					    RemoteCMPIAssociationMI *,
					    CMPIContext *,
					    CMPIResult *,
					    CMPIObjectPath *,
					    const char *,
					    const char *,
					    char ** );
  CMPIStatus (* AssociationMI_referenceNames) ( provider_address *,
						RemoteCMPIAssociationMI *,
						CMPIContext *,
						CMPIResult *,
						CMPIObjectPath *,
						const char *,
						const char * );

  // method provider function pointers
  CMPIStatus (* MethodMI_invokeMethod) ( provider_address *,
					 RemoteCMPIMethodMI *,
					 CMPIContext *,
					 CMPIResult *,
					 CMPIObjectPath *,
					 const char *,
					 CMPIArgs *,
					 CMPIArgs * );

  // property provider function pointers
  CMPIStatus (* PropertyMI_setProperty) ( provider_address *,
					  RemoteCMPIPropertyMI *,
					  CMPIContext *,
					  CMPIResult *,
					  CMPIObjectPath *,
					  const char *,
					  CMPIData );
  CMPIStatus (* PropertyMI_getProperty) ( provider_address *,
					  RemoteCMPIPropertyMI *,
					  CMPIContext *,
					  CMPIResult *,
					  CMPIObjectPath *,
					  const char * );

  // indication provider function pointers
  CMPIStatus (* IndicationMI_authorizeFilter) ( provider_address *,
						RemoteCMPIIndicationMI *,
						CMPIContext *,
						CMPIResult *,
						CMPIObjectPath *,
						CMPISelectExp *,
						const char *,
						const char * );
  CMPIStatus (* IndicationMI_mustPoll) ( provider_address *,
					 RemoteCMPIIndicationMI *,
					 CMPIContext *,
					 CMPIResult *,
					 CMPIObjectPath *,
					 CMPISelectExp *,
					 const char * );
  CMPIStatus (* IndicationMI_activateFilter) ( provider_address *,
					       RemoteCMPIIndicationMI *,
					       CMPIContext *,
					       CMPIResult *,
					       CMPIObjectPath *,
					       CMPISelectExp *,
					       const char *,
					       CMPIBoolean );
  CMPIStatus (* IndicationMI_deActivateFilter) ( provider_address *,
						 RemoteCMPIIndicationMI *,
						 CMPIContext *,
						 CMPIResult *,
						 CMPIObjectPath *,
						 CMPISelectExp *,
						 const char *,
						 CMPIBoolean );

  struct provider_comm * next;
};



provider_comm * load_provider_comm ( const char * comm_id,
				     CMPIBroker * broker,
				     CMPIContext * ctx );


unsigned long int save_context ( CMPIContext * ctx );
CMPIContext * get_context ( unsigned long int id );
void remove_context ( unsigned long int id );

#endif

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2