C# Class Microsoft.Protocols.TestSuites.Common.OxcropsClient

A class that implements ROP parsing and supports ROP buffer transmission between client and server.
Show file Open project: OfficeDev/Interop-TestSuites Class Usage Examples

Public Methods

Method Description
Connect ( string server, ConnectionType connectionType, string userDN, string domain, string userName, string password ) : bool

Connect to the server for running ROP commands.

Disconnect ( ) : bool

Disconnect from the server.

IsReservedRopId ( byte ropId ) : bool

Check RopId whether in Reserved RopIds array

MAPINotificationWaitCall ( IRequestBody requestBody ) : NotificationWaitSuccessResponseBody

The method to send NotificationWait request to the server.

OxcropsClient ( ) : System

Initializes a new instance of the OxcropsClient class.

OxcropsClient ( MapiContext mapiContext ) : System

Initializes a new instance of the OxcropsClient class.

RegisterROPDeserializer ( ) : void

Register ROPs' deserializer

RopCall ( List requestROPs, List requestSOHTable, List &responseROPs, List &responseSOHTable, byte &rgbRopOut, uint pcbOut, string mailBoxUserName = null ) : uint

Send ROP request to the server.

Private Methods

Method Description
BuildRequestBuffer ( List requestROPs, List requestSOHTable ) : byte[]

Create ROPs request buffer.

MapiConnect ( string mailStoreUrl, string userDN, string domain, string userName, string password ) : bool

Internal use connect to the server for RPC calling.

ParseResponseBuffer ( byte rgbOut, RPC_HEADER_EXT &rpcHeaderExts, byte &rops, uint &serverHandleObjectsTables ) : void

The method parses response buffer.

RegisterFastTransferROPDeserializer ( ) : void

Register Fast Transfer ROPs' deserializer

RegisterFolderROPDeserializer ( ) : void

Register Folder ROPs' deserializer

RegisterIncrementalChangeSynchronizationROPDeserializer ( ) : void

Register Incremental Change Synchronization ROPs' deserializer

RegisterLogonROPDeserializer ( ) : void

Register Logon ROPs' deserializer

RegisterMessageROPDeserializer ( ) : void

Register Message ROPs' deserializer

RegisterNotificationROPDeserializer ( ) : void

Register Notification ROPs' deserializer

RegisterOtherROPDeserializer ( ) : void

Register other ROPs' deserializer

RegisterPermissionROPDeserializer ( ) : void

Register Permission ROPs' deserializer

RegisterPropertyROPDeserializer ( ) : void

Register Property ROPs' deserializer

RegisterRuleROPDeserializer ( ) : void

Register Rule ROPs' deserializer

RegisterStreamROPDeserializer ( ) : void

Register Stream ROPs' deserializer

RegisterTableROPDeserializer ( ) : void

Register Table ROPs' deserializer

RegisterTransportROPDeserializer ( ) : void

Register Transport ROPs' deserializer

RpcConnect ( string server, string userDN, string domain, string userName, string password, string rpcProxyOptions ) : bool

Internal use connect to the server for RPC calling. This method is defined as a direct way to connect to server with specific parameters.

Method Details

Connect() public method

Connect to the server for running ROP commands.
public Connect ( string server, ConnectionType connectionType, string userDN, string domain, string userName, string password ) : bool
server string Server to connect.
connectionType ConnectionType the type of connection
userDN string UserDN used to connect server
domain string Domain name
userName string User name used to logon
password string User Password
return bool

Disconnect() public method

Disconnect from the server.
public Disconnect ( ) : bool
return bool

IsReservedRopId() public method

Check RopId whether in Reserved RopIds array
public IsReservedRopId ( byte ropId ) : bool
ropId byte The RopId will be checked
return bool

MAPINotificationWaitCall() public method

The method to send NotificationWait request to the server.
public MAPINotificationWaitCall ( IRequestBody requestBody ) : NotificationWaitSuccessResponseBody
requestBody IRequestBody The NotificationWait request body.
return NotificationWaitSuccessResponseBody

OxcropsClient() public method

Initializes a new instance of the OxcropsClient class.
public OxcropsClient ( ) : System
return System

OxcropsClient() public method

Initializes a new instance of the OxcropsClient class.
public OxcropsClient ( MapiContext mapiContext ) : System
mapiContext MapiContext The Mapi Context
return System

RegisterROPDeserializer() public method

Register ROPs' deserializer
public RegisterROPDeserializer ( ) : void
return void

RopCall() public method

Send ROP request to the server.
public RopCall ( List requestROPs, List requestSOHTable, List &responseROPs, List &responseSOHTable, byte &rgbRopOut, uint pcbOut, string mailBoxUserName = null ) : uint
requestROPs List ROP request objects.
requestSOHTable List ROP request server object handle table.
responseROPs List ROP response objects.
responseSOHTable List ROP response server object handle table.
rgbRopOut byte The response payload bytes.
pcbOut uint The maximum size of the rgbOut buffer to place Response in.
mailBoxUserName string Autodiscover find the mailbox according to this username.
return uint