class CCL::Security::Crypto::Material
Overview
Load/save methods use XML Archive Format. More…
#include <cryptomaterial.h> class Material: public CCL::StorableObject { public: // construction Material (BlockRef block); Material (IStream& stream); Material (const Material& material); // methods virtual DECLARE_CLASS (Material, StorableObject) = 0; Material& operator = (const Material& material); bool isEmpty () const; int getSize () const; int getBitCount () const; Material& empty (); Material& resize (uint32 size); Material& copyFrom (BlockRef block); Material& copyFrom (IStream& stream); Material& copyFrom (CStringRef string); Material& copyFrom (const Material& material); Material& copyPart (const Material& other, int offset, int length); Material& append (CStringRef string); Material& append (StringRef string, TextEncoding encoding); Material& append (const Material& other); Material& appendBytes (const void* data, int length); bool copyTo (IStream& stream) const; bool copyTo (MutableCString& string) const; bool copyTo (String& string, TextEncoding encoding) const; void moveTo (MemoryStream& memStream); Block asBlock () const; operator Block () const; IStream& asStream (); operator IStream & (); String toHex () const; MutableCString toCHex () const; String toBase32 () const; MutableCString toCBase32 () const; String toBase64 () const; MutableCString toCBase64 () const; String toBase64URL () const; MutableCString toCBase64URL () const; Material& fromHex (StringRef string); Material& fromHex (CStringRef string); Material& fromBase32 (StringRef string); Material& fromBase32 (CStringRef string); Material& fromBase64 (StringRef string); Material& fromBase64 (CStringRef string); Material& fromBase64URL (StringRef string); Material& fromBase64URL (CStringRef string); virtual int getHashCode (int size) const; virtual bool equals (const Object& object) const; virtual bool load (const Storage& storage); virtual bool save (const Storage& storage) const; virtual bool toString (String& string, int flags = 0) const; };
Inherited Members
public: // typedefs typedef CStringRef MemberID; // fields IStorable; // 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; Unknown& operator = (const Unknown&); unsigned int getRetainCount () const; virtual Object*CCL_API revealObject (const void* moduleAddress) = 0; virtual void CCL_API addObserver (IObserver* observer) = 0; virtual void CCL_API removeObserver (IObserver* observer) = 0; virtual void CCL_API signal (MessageRef msg) = 0; virtual void CCL_API deferSignal (IMessage* msg) = 0; static ISubject void addObserver (IUnknown* unknown, IObserver* observer); static void removeObserver (IUnknown* unknown, IObserver* observer); virtual void CCL_API notify (ISubject* subject, MessageRef msg) = 0; static IObserver void notify ( IUnknown* unknown, ISubject* subject, MessageRef msg ); virtual const ITypeInfo&CCL_API getTypeInfo () const = 0; virtual tbool CCL_API getProperty (Variant& var, MemberID propertyId) const = 0; virtual tbool CCL_API setProperty (MemberID propertyId, const Variant& var) = 0; virtual tbool CCL_API getPropertyNames (IPropertyCollector& collector) const = 0; virtual tbool CCL_API invokeMethod (Variant& returnValue, MessageRef msg) = 0; DECLARE_BASE_CLASS (Object); virtual void CCL_API removeObserver (IObserver* observer); virtual void CCL_API signal (MessageRef msg); virtual void CCL_API deferSignal (IMessage* msg); virtual void deferChanged (); virtual void CCL_API notify (ISubject* subject, MessageRef msg); virtual bool equals (const Object& obj) const; virtual int compare (const Object& obj) const; virtual bool load (const Storage& storage); virtual bool save (const Storage& storage) const; virtual bool save (const OutputStorage& storage) const; virtual bool toString (String& string, int flags = 0) const; virtual int getHashCode (int size) const; IUnknown* asUnknown (); static void addGarbageCollected (Object* obj, bool globalScope = true); static void deferDestruction (Object* obj); static const void* getModuleAddress (); virtual tbool CCL_API getFormat (FileType& format) const = 0; virtual tbool CCL_API save (IStream& stream) const = 0; virtual tbool CCL_API load (IStream& stream) = 0; DECLARE_CLASS (StorableObject, Object) const; bool loadFromFile (UrlRef path); bool saveToStream (IStream& stream) const; bool loadFromStream (IStream& stream); virtual tbool CCL_API getFormat (FileType& format) const; virtual tbool CCL_API save (IStream& stream) const; virtual tbool CCL_API load (IStream& stream); static Object bool saveToFile (const Object& object, UrlRef path, int flags = 0); static bool loadFromFile (Object& object, UrlRef path, int flags = 0); static bool saveToStream (const Object& object, IStream& stream, int flags = 0); static bool loadFromStream (Object& object, IStream& stream, int flags = 0);
Detailed Documentation
Load/save methods use XML Archive Format.
Methods
int getSize () const
size in bytes
void moveTo (MemoryStream& memStream)
move data without copying
String toBase64URL () const
Base 64 Encoding with URL and Filename Safe Alphabet.