struct CCL::IPackageHandler
Overview
#include <ipackagehandler.h> struct IPackageHandler: public CCL::IUnknown { // enums enum OpenPackageOptions; // methods virtual tresult CCL_API setCryptoFactory (Security::Crypto::ICryptoFactory* factory) = 0; virtual tbool CCL_API isPackage (UrlRef path) = 0; virtual IPackageFile*CCL_API createPackage (UrlRef path, UIDRef cid = kNullUID) = 0; virtual IPackageFile*CCL_API openPackage (UrlRef path, int options = 0) = 0; virtual IPackageFile*CCL_API createPackageWithStream ( IStream& stream, UIDRef cid ) = 0; virtual IPackageFile*CCL_API openPackageWithStream ( IStream& stream, UIDRef cid = kNullUID ) = 0; virtual tresult CCL_API mountPackageVolume ( IPackageFile* package, StringRef packageID, int options = 0 ) = 0; virtual tresult CCL_API unmountPackageVolume (IPackageFile* package) = 0; virtual IPackageVolume*CCL_API openPackageVolume (StringRef packageID) = 0; virtual tbool CCL_API isMounted (UrlRef path) = 0; virtual tresult CCL_API terminate () = 0; };
Inherited Members
public: // methods virtual tresult CCL_API queryInterface (UIDRef iid, void** ptr) = 0; virtual unsigned int CCL_API retain () = 0; virtual unsigned int CCL_API release () = 0;
Detailed Documentation
Methods
virtual tresult CCL_API setCryptoFactory (Security::Crypto::ICryptoFactory* factory) = 0
Set external factory for cryptographical algorithms.
virtual tbool CCL_API isPackage (UrlRef path) = 0
Check if given location points to a package.
virtual IPackageFile*CCL_API createPackage (UrlRef path, UIDRef cid = kNullUID) = 0
Create new package file object, type is defined by path or class identifier.
virtual IPackageFile*CCL_API openPackage (UrlRef path, int options = 0) = 0
Open existing package file, type is detected automatically.
virtual IPackageFile*CCL_API createPackageWithStream ( IStream& stream, UIDRef cid ) = 0
Create package with pre-existing stream, the stream will be shared.
virtual IPackageFile*CCL_API openPackageWithStream ( IStream& stream, UIDRef cid = kNullUID ) = 0
Open package from pre-existing stream, the stream will be shared.
virtual tresult CCL_API mountPackageVolume ( IPackageFile* package, StringRef packageID, int options = 0 ) = 0
Mount package into file system (can be accessed via “package://{package-id}/…”).
virtual tresult CCL_API unmountPackageVolume (IPackageFile* package) = 0
Unmount package from file system.
virtual IPackageVolume*CCL_API openPackageVolume (StringRef packageID) = 0
Get package volume interface by identifier, must be released by caller!
virtual tbool CCL_API isMounted (UrlRef path) = 0
Check if package at given location is already mounted.
virtual tresult CCL_API terminate () = 0
Unmount all packages from file system.