Sets the password to the value defined by the arguments.
Sets the password to the value described by the argument.
Generates and returns credentials from the attributes stored to the object. When any of the attributes have not been set, returns NULL.
Verifies that the credentials passed as argument have been generated from the attributes stored to the object within the acceptable time delay. Returns true, if authentication succeeds and false otherwise.
The standard equality operators for security attributes.
Performs a deep copy of the object and returns the copy.
.H
The component implementing operation objects includes a function to obtain a pointer to the operation factory interface. The signature of this function is defined as:
extern "C" HRESULT
_CreateOpFactory( const GUID& iid,
ISLE_UtilFactory* putil,
ISLE_Reporter* preporter,
void** ppv );
where is replaced by the product identifier of the implementation. External ‘C’ linkage is required. A reference to the utility factory that shall be used by the component must be passed as an argument. The function checks the argument identifying the operation factory interface and returns an error when the implementation does not support that identifier.
A pointer to the reporter interface can optionally be passed as well. Operation objects may use this interface to report error messages, if it is provided. The extent to which error logging is supported is implementation dependent.
Arguments
iid identifier of the required interface
putil pointer to the interface of the Utility Factory
preporter pointer to the reporter interface for passing of log messages and notifications to the application
ppv pointer to the requested interface of the Operation Factory
Result codes
S_OK the object has been created
E_NOINTERFACE the specified interface is not supported
E_INVALIDARG the reference to the utility factory or reporter is missing
-
SLE Operation Factory
Name ISLE_OperationFactory
GUID {BB4DDA22-54CD-11d8-9CF5-0004761E8CFB}
Inheritance: IUnknown
File ISLE_OperationFactory
Synopsis
#include
#include
#include
interface ISLE_Operation;
#define IID_ISLE_OperationFactory_DEF { 0xbb4dda22, 0x54cd, 0x11d8, \
{ 0x9c, 0xf5, 0x0, 0x4, 0x76, 0x1e, 0x8c, 0xfb } }
interface ISLE_OperationFactory : IUnknown
{
virtual HRESULT
CreateOperation( const GUID& iid,
SLE_OpType opType,
SLE_ApplicationIdentifier srvType,
SLE_VersionNumber version,
void** ppv ) const = 0;
};
Methods
HRESULT CreateOperation( const GUID& iid,
SLE_OpType opType,
SLE_ApplicationIdentifier srvType,
SLE_VersionNumber version,
void ** ppv ) const;
Creates a new operation object as specified by the arguments. If the interface cannot be found, does not refer to an operation object interface of the specified type, or is not supported for the specified service type, returns an error and sets the output argument to NULL.
Arguments
iid GUID for the operation object interface to be returned
opType the operation object type that shall be created
srvType the service type for which an operation is requested
version the version number of the service type identified by srvType, which must be greater than zero
ppv a pointer to the requested interface
Result codes
S_OK the object has been created
E_NOINTERFACE the specified interface is not supported
SLE_E_INCONSISTENT the requested operation type is not supported by the specified service type
-
Basic Interfaces
-
SLE Operation
Name ISLE_Operation
GUID {BB4DDA25-54CD-11d8-9CF5-0004761E8CFB}
Inheritance: IUnknown
File ISLE_Operation.H
The interface defines basic characteristics supported by all operation objects.
Synopsis
#include
#include
#include
interface ISLE_Credentials;
#define IID_ISLE_Operation_DEF { 0xbb4dda25, 0x54cd, 0x11d8, \
{ 0x9c, 0xf5, 0x0, 0x4, 0x76, 0x1e, 0x8c, 0xfb } }
interface ISLE_Operation : IUnknown
{
virtual SLE_ApplicationIdentifier
Get_OpServiceType() const = 0;
virtual SLE_VersionNumber
Get_OpVersionNumber() const = 0;
virtual SLE_OpType
Get_OperationType() const = 0;
virtual bool
IsConfirmed() const = 0;
virtual const ISLE_Credentials*
Get_InvokerCredentials() const = 0;
virtual void
Set_InvokerCredentials( const ISLE_Credentials& credentials ) = 0;
virtual void
Put_InvokerCredentials( ISLE_Credentials* pcredentials ) = 0;
virtual HRESULT
VerifyInvocationArguments() const = 0;
virtual HRESULT
Lock() = 0;
virtual HRESULT
TryLock() = 0;
virtual HRESULT
Unlock() = 0;
virtual ISLE_Operation*
Copy()const = 0;
virtual char*
Print( int maxDumpLength ) const = 0;
};
Methods
SLE_ApplicationIdentifier Get_OpServiceType() const;
Returns the SLE service type for the operation.
SLE_VersionNumber Get_OpVersionNumber() const;
Returns the version number of the SLE Service type for the operation.
SLE_OpType Get_OperationType() const;
Returns the type of operation as defined by SLE_OpType.
bool IsConfirmed() const;
Returns true if the operation is a confirmed operation, false otherwise.
const ISLE_Credentials* Get_InvokerCredentials() const;
Returns a pointer to the invoker credentials or NULL when no credentials are present.
void Set_InvokerCredentials( const ISLE_Credentials& credentials );
Sets the invoker credentials copying the input argument.
void Put_InvokerCredentials( ISLE_Credentials* pcredentials );
Sets the invoker credentials to the input argument. The input argument will be deleted by the operation object.
HRESULT VerifyInvocationArguments() const;
Verifies the invocation arguments with respect to completeness, consistency, and range.
Result codes
S_OK all checks passed
SLE_E_MISSINGARG at least one argument is missing
SLE_E_INCONSISTENT the arguments are inconsistent
SLE_E_RANGE at least one argument is out of range
Further results codes might be specified by supplemental Recommended Practice documents for service-specific APIs. These result codes must be taken into account by implementations of derived interfaces.
HRESULT Lock();
Sets an advisory lock on the operation object.
Result codes
S_OK lock has been set
E_FAIL further unspecified error
HRESULT TryLock();
Sets the lock on the object if possible. If the lock is currently not available returns immediately.
Result codes
S_OK lock has been set
SLE_S_LOCKED lock not available
E_FAIL further unspecified error
HRESULT Unlock();
Releases a lock previously set on the operation object.
Result codes
S_OK lock has been removed
E_FAIL further unspecified error
ISLE_Operation* Copy();
Performs a deep copy of the operation object and returns a pointer to the new object.
char* Print( int maxDumpLength ) const;
Generates and returns a human readable printout of the object attributes.
Arguments
maxDumpLength defines the maximum length in bytes of hexadecimal dumps produced for binary parameters, such as space data units
Default Setting of Operation Parameters after Creation
Argument
|
Created directly
|
Created by Service Instance
|
service type
|
set in the create request
|
as defined for the SI
|
version number
|
set in the create request
|
as defined for the SI
|
operation type
|
set in the create request
|
according to the request
|
confirmed operation
|
depending on derived I/F
|
depending on derived I/F
|
invoker credentials used
|
false
|
false
|
invoker credentials
|
NULL
|
NULL
|
Checking of Invocation Parameters
No checks are defined for the parameters handled by this interface.
-
SLE Confirmed Operation
Name ISLE_ConfirmedOperation
GUID {D020B006-CCD1-11d2-9B44-00A0246D80DB}
Inheritance: IUnknown – ISLE_Operation
File ISLE_ConfirmedOperation.H
The interface defines characteristics supported by all confirmed operation objects.
Synopsis
#include
#define IID_ISLE_ConfirmedOperation_DEF {0xd020b006, 0xccd1, 0x11d2,\
{ 0x9b, 0x44, 0x0, 0xa0, 0x24, 0x6d, 0x80, 0xdb } }
interface ISLE_ConfirmedOperation : ISLE_Operation
{
virtual SLE_Result
Get_Result() const = 0;
virtual SLE_DiagnosticType
Get_DiagnosticType() const = 0;
virtual SLE_Diagnostics
Get_Diagnostics() const = 0;
virtual SLE_InvokeId
Get_InvokeId() const = 0;
virtual const ISLE_Credentials*
Get_PerformerCredentials() const = 0;
virtual void
Set_PositiveResult() = 0;
virtual void
Set_Diagnostics( SLE_Diagnostics diagnostic ) = 0;
virtual void
Set_InvokeId( SLE_InvokeId id ) = 0;
virtual void
Set_PerformerCredentials( const ISLE_Credentials& credentials ) = 0;
virtual void
Put_PerformerCredentials( ISLE_Credentials* pcredentials ) = 0;
virtual HRESULT
VerifyReturnArguments() const = 0;
};
Methods
SLE_Result Get_Result() const;
Returns the result (positive / negative) stored to the object.
SLE_DiagnosticType Get_DiagnosticType() const;
Returns the type of diagnostic (general, special, none) stored to the object.
SLE_Diagnostics Get_Diagnostics() const;
Returns the common diagnostics if set in the object.
SLE_InvokeId Get_InvokeId() const;
Returns the Invocation Identifier currently set in the object.
const ISLE_Credentials* Get_PerformerCredentials() const;
Returns a pointer to the performer credentials or NULL when no credentials are present.
void Set_PositiveResult();
Sets the result of the operation to positive and the diagnostic type to ‘invalid’. A negative result is set with the diagnostics.
void Set_Diagnostics( SLE_Diagnostics diagnostic );
Sets the common diagnostics to the input argument, sets the diagnostic type to ‘common’ and the result to negative.
void Set_InvokeId( SLE_InvokeId id );
Sets the invoke identifier to the value passed as argument.
void Set_PerformerCredentials( const ISLE_Credentials& credentials );
Sets the performer credentials copying the input argument.
void Put_PerformerCredentials( ISLE_Credentials* pcredentials );
Sets the performer credentials to the input argument. The credentials argument will be deleted by the operation object.
HRESULT VerifyReturnArguments();
Verifies the invocation arguments with respect to completeness, consistency, and range.
Result codes
S_OK all checks passed
SLE_E_MISSINGARG at least one argument is missing
SLE_E_INCONSISTENT the arguments are inconsistent, e.g., do not match the invocation arguments
SLE_E_RANGE at least one argument is out of range
SLE_E_DIAGNOSTIC the diagnostic code is missing, unknown, or inconsistent with the result
Further results codes might be specified by for specific SLE services. These result codes must be taken into account by implementations of derived interfaces.
Default Setting of Operation Parameters after Creation
Argument
|
Created directly
|
Created by Service Instance
|
result
|
‘invalid’
|
‘invalid’
|
diagnostic type
|
‘none’
|
‘none’
|
common diagnostics
|
‘invalid’
|
‘invalid’
|
performer credentials used
|
false
|
false
|
performer credentials
|
NULL
|
NULL
|
invocation identifier
|
0
|
0 (will be handled by the service instance)
|
Checking of Return Parameters
Argument
|
Required condition
|
result
|
must be set
|
diagnostic type
|
if the result is ‘negative’ must be ‘common’ or ‘specific’
|
common diagnostics
|
if the diagnostic type is common, must not be ‘invalid’
|
Share with your friends: