Foxit PDF SDK

Public Member Functions | List of all members
foxit::pdf::RMSSecurityHandler Class Reference
Inheritance diagram for foxit::pdf::RMSSecurityHandler:

## Public Member Functions
| RMSSecurityHandler ()
| Constructor. More...
| RMSSecurityHandler (const foxit::pdf::SecurityHandler &other)
| Constructor, with parent class object. More...
bool | Initialize (const RMSEncryptData &encrypt_data, const RMSSecurityCallback *callback)
| Initialize current Microsoft RMS security handler. More...
Public Member Functions inherited from foxit::pdf::SecurityHandler
| SecurityHandler ()
| Constructor.
| SecurityHandler (const SecurityHandler &other)
| Constructor, with another security handler object. More...
virtual | ~SecurityHandler ()
| Destructor.
virtual PDFDoc::EncryptType | GetSecurityType ()
| Get the encryption type of current security handler. More...
bool | IsEmpty () const
| Check whether current object is empty or not. More...
bool | operator != (const SecurityHandler &other)
| Not equal operator. More...
SecurityHandler & | operator= (const SecurityHandler &other)
| Assign operator. More...
bool | operator== (const SecurityHandler &other)
| Equal operator. More...
Public Member Functions inherited from foxit::Base
FS_HANDLE | Handle () const
| Get the handle of current object. More...

## Additional Inherited Members
Public Types inherited from foxit::pdf::SecurityHandler
enum | CipherType { e_CipherNone = 0, e_CipherRC4 = 1, e_CipherAES = 2 }
| Enumeration for Encryption Algorithm. More...

## Detailed Description

This class represents a RMS security handler, used for RMS encryption.

Note
  If module "RMS" is not defined in the license information which is used in function common::Library::Initialize, that means user has no right in using RMS related functions and valid RMS security handler would not be constructed successfully and exception foxit::e_ErrNoRMSModuleRight would be thrown.

See also
  SecurityHandler

## Constructor & Destructor Documentation

## ◆ RMSSecurityHandler() [1/2]

foxit::pdf::RMSSecurityHandler::RMSSecurityHandler | ( |  | ) |

Constructor.

Note
  If module "RMS" is not defined in the license information which is used in function common::Library::Initialize, that means user has no right in using RMS related functions and this constructor will throw exception foxit::e_ErrNoRMSModuleRight.

## ◆ RMSSecurityHandler() [2/2]

foxit::pdf::RMSSecurityHandler::RMSSecurityHandler | ( | const foxit::pdf::SecurityHandler & | other | ) |
| explicit

Constructor, with parent class object.

Parameters

  [in] | other | Parent class object.

Note
  If module "RMS" is not defined in the license information which is used in function common::Library::Initialize, that means user has no right in using RMS related functions and this constructor will throw exception foxit::e_ErrNoRMSModuleRight.

## Member Function Documentation

## ◆ Initialize()

bool foxit::pdf::RMSSecurityHandler::Initialize | ( | const RMSEncryptData & | encrypt_data,
|  | const RMSSecurityCallback * | callback
| ) |  |

Initialize current Microsoft RMS security handler.

If this function is successfully, Foxit PDF SDK will take over the input security callback object and user should not release this callback object directly anymore; otherwise unexpected crash may occurs later.
Foxit PDF SDK may release the security callback object by callback function SecurityCallback::Release (inherited from RMSSecurityCallback's parent class), when current security handler is released and find that the callback object has not been used by other object. So, user is recommended not to use the security callback object any more, after current security handler is released.

Parameters

  [in] | encrypt_data | A RMS encrypt data object.
  [in] | callback | A valid RMSSecurityCallback object, which is inherited and implemented by user for their own encryption and description algorithm. It should not be NULL.

Returns