1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94
|
//File: CosLicensingManager.idl
//The only module of the Licensing Service
#ifndef _COS_LICENSING_MANAGER_IDL_
#define _COS_LICENSING_MANAGER_IDL_
// omniORB specific pragmas to insert extra includes into the stub header.
#pragma hh #include "COS_sysdep.h"
#include <CosEventComm.idl>
#include <CosPropertyService.idl>
#include <CosEventComm.idl>
#pragma prefix "omg.org"
module CosLicensingManager {
exception InvalidProducer{};
exception InvalidParameter{};
exception ComponentNotRegistered{};
typedef Object ProducerSpecificNotification;
enum ActionRequired { continue, terminate};
enum Answer { yes, no };
struct Action_t {
ActionRequired action ;
Answer notification_required ;
Answer wait_for_user_confirmation_after_notification ;
unsigned long notification_duration;
ProducerSpecificNotification producer_notification;
string notification_text;
};
struct ChallengeData {
unsigned long challenge_index;
unsigned long random_number;
string digest;
};
enum ChallengeProtocol { default_protocol, producer_defined };
struct Challenge {
ChallengeProtocol challenge_protocol;
unsigned long challenge_data_size;
any challenge_data;
};
typedef any LicenseHandle;
interface ProducerSpecificLicenseService {
readonly attribute string producer_contact_info;
readonly attribute string producer_specific_license_service_info;
LicenseHandle start_use (
// XXX in CORBA::Principal aPrincipal,
in string component_name,
in string component_version,
in CosPropertyService::PropertySet license_use_context,
in CosEventComm::PushConsumer call_back,
inout CosLicensingManager::Challenge Challenge)
raises ( InvalidParameter, ComponentNotRegistered);
void check_use (
in LicenseHandle handle,
in CosPropertyService::PropertySet license_use_context,
out unsigned long recommended_check_interval,
out Action_t action_to_be_taken,
inout CosLicensingManager::Challenge Challenge)
raises ( InvalidParameter );
void end_use (
in LicenseHandle handle,
in CosPropertyService::PropertySet license_use_context,
inout CosLicensingManager::Challenge Challenge)
raises ( InvalidParameter );
};
interface LicenseServiceManager {
ProducerSpecificLicenseService
obtain_producer_specific_license_service (
in string producer_name,
inout CosLicensingManager::Challenge Challenge)
raises ( InvalidProducer, InvalidParameter ) ;
};
};
#endif /* ifndef _COS_LICENSING_MANAGER_IDL_ */
|