Recommendation for Space Data System Practices


void Set_Password( const SLE_Octet* pwd, size_t size )



Download 2.26 Mb.
Page25/35
Date31.07.2017
Size2.26 Mb.
#24990
1   ...   21   22   23   24   25   26   27   28   ...   35

void Set_Password( const SLE_Octet* pwd, size_t size );

Sets the password to the value defined by the arguments.



Arguments

pwd pointer to the password

size the size of the password in bytes

Precondition: The length of the octet string supplied as argument is >= 6 and <= 16 octets.

void Set_HexPassword( const char* pwd );

Sets the password to the value described by the argument.



Arguments

pwd An ASCII string with a hex representation of the password. The ASCII string consists of an even number of hex digits (two hex digits for each byte of the password) without blanks and without any prefix or postfix. The ASCII string may only contain ASCII characters from the set {‘0’ - ‘9’, ‘A’ - ‘F’, ‘a’ - ‘f’}.’

Precondition: The length of the octet string represented by the argument is >=6 and <=16 octets.

ISLE_Credentials* GenerateCredentials() const;

Generates and returns credentials from the attributes stored to the object. When any of the attributes have not been set, returns NULL.



bool Authenticate( const ISLE_Credentials& credentials,
int acceptableDelay ) const;

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.



Arguments

credentials the credentials that shall be authenticated

acceptableDelay the acceptable delay between the time the credentials have been generated and the time of authentication

bool operator== ( const ISLE_SecAttributes& secAttr ) const;
bool operator!= ( const ISLE_SecAttributes& secAttr ) const;

The standard equality operators for security attributes.



ISLE_SecAttributes* Copy() const;

Performs a deep copy of the object and returns the copy.



                    1. SLE Operation Objects

      1. Component Creator Function

File .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

      1. 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

      1. Basic Interfaces

        1. 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.



        1. 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’

Directory: sec -> docs -> 201510 Documents for SC13 Submission
sec -> Security Education Narrative Database Patterns of Professional Education
sec -> Guidelines for implementation of Prime Minister’s New 15 Point Programme for the Welfare of Minorities
sec -> Morphodynamics of a Constructed Marsh: Project Greenshores, Pensacola, Florida
sec -> Registration 6: 00pm – 6: 10pm Welcome/Opening Remarks
sec -> ¡bienvenidos! Welcome to Puerto Rico! 2 Things to know immediately upon arrival 2
sec -> Cadillac Racing cts-v coupe Media Kit
sec -> Sure Bet Narrative Nonfiction Suggestions
sec -> Executive Board of the United Nations Development Programme, the United Nations Population Fund and the United Nations Office for Project Services
201510 Documents for SC13 Submission -> Recommendation for Space Data System Practices

Download 2.26 Mb.

Share with your friends:
1   ...   21   22   23   24   25   26   27   28   ...   35




The database is protected by copyright ©ininet.org 2024
send message

    Main page