The actual code of the license class is put into an internal class and made into long functions to make it harder for the crackers to find anything meaningful after the dlls were cracked in November 2005. More...

Inherits System::Object.

Public Member Functions

bool get_EmbeddedCore () const
 License number was added as embedded resource. More...
 
void set_EmbeddedCore (bool value)
 License number was added as embedded resource. More...
 
System::ArrayPtr< System::Stringget_Products () const
 Gets Aspose product names this license is for. You need to specify value that matches the value specified in AssemblyProduct attribute. This is used to check that the license is suitable for this product. More...
 
Aspose::Page::EditionType get_EditionType () const
 Gets edition type. You can use this to enable/disable some features depending on the edition type. More...
 
System::String get_SerialNumber () const
 Unique license number. Used to black list stolen licenses. More...
 
System::DateTime get_SubscriptionExpiry () const
 Gets the last date of the subscription. This is to be checked against custom attribute on the assembly that contains the relase date. More...
 
System::DateTime get_LicenseExpiry () const
 This is for temporary licenses. More...
 
void SetLicenseCore (System::String licenseName, System::SharedPtr< System::Reflection::Assembly > clientAssembly, bool isEmbedded)
 
void SetLicenseCore (System::String licenseName, System::SharedPtr< System::Reflection::Assembly > clientAssembly)
 
void SetLicenseCore (System::SharedPtr< System::IO::Stream > stream)
 Note, this function was manually tuned (made complex) so it does not decompile in Reflector. More...
 
bool IsLicensed ()
 Retruns True in case license is set and valid More...
 
void LoadLicense (System::SharedPtr< System::Xml::XmlDocument > doc)
 Verifies the signature on the XML file and loads it into the license files, but does not check them. Made internal only for unit testing, do not call directly otherwise. More...
 
void LoadLicense (System::String fileName)
 See above. Use for unit testing only. More...
 
 LicenseCore ()
 
- Public Member Functions inherited from System::Object
ASPOSECPP_SHARED_API Object ()
 Creates object. Initializes all internal data structures. More...
 
virtual ASPOSECPP_SHARED_API ~Object ()
 Destroys object. Frees all internal data structures. More...
 
ASPOSECPP_SHARED_API Object (Object const &x)
 Copy constructor. Doesn't copy anything, really, just initializes new object and enables copy constructing subclasses. More...
 
Objectoperator= (Object const &x)
 Assignment operator. Doesn't copy anything, really, just initializes new object and enables copy constructing subclasses. More...
 
ObjectSharedRefAdded ()
 Increments shared reference count. Shouldn't be called directly; instead, use smart pointers or ThisProtector. More...
 
int SharedRefRemovedSafe ()
 Decrements and returns shared reference count. Shouldn't be called directly; instead, use smart pointers or ThisProtector. More...
 
int RemovedSharedRefs (int count)
 Decreases shared reference count by specified value. More...
 
Detail::SmartPtrCounter * WeakRefAdded ()
 Increments weak reference count. Shouldn't be called directly; instead, use smart pointers or ThisProtector. More...
 
void WeakRefRemoved ()
 Decrements weak reference count. Shouldn't be called directly; instead, use smart pointers or ThisProtector. More...
 
Detail::SmartPtrCounter * GetCounter ()
 Gets reference counter data structure associated with the object. More...
 
int SharedCount () const
 Gets current value of shared refernce counter. More...
 
ASPOSECPP_SHARED_API void Lock ()
 Implements C# lock() statement locking. Call directly or use LockContext sentry object. More...
 
ASPOSECPP_SHARED_API void Unlock ()
 Implements C# lock() statement unlocking. Call directly or use LockContext sentry object. More...
 
virtual ASPOSECPP_SHARED_API bool Equals (ptr obj)
 Compares objects using C# Object.Equals semantics. More...
 
virtual ASPOSECPP_SHARED_API int GetHashCode () const
 Analog of C# Object.GetHashCode() method. Enables hashing of custom objects. More...
 
virtual ASPOSECPP_SHARED_API String ToString () ASPOSE_CONST
 Analog of C# Object.ToString() method. Enables converting custom objects to string. More...
 
virtual ASPOSECPP_SHARED_API ptr MemberwiseClone () const
 Analog of C# Object.MemberwiseClone() method. Enables cloning custom types. More...
 
virtual ASPOSECPP_SHARED_API const TypeInfoGetType () const
 Gets actual type of object. Analog of C# System.Object.GetType() call. More...
 
virtual ASPOSECPP_SHARED_API bool Is (const TypeInfo &targetType) const
 Check if object represents an instance of type described by targetType. Analog of C# 'is' operator. More...
 
virtual ASPOSECPP_SHARED_API void SetTemplateWeakPtr (unsigned int argument)
 Set n'th template argument a weak pointer (rather than shared). Allows switching pointers in containers to weak mode. More...
 
template<>
bool Equals (float const &objA, float const &objB)
 
template<>
bool Equals (double const &objA, double const &objB)
 
template<>
bool ReferenceEquals (String const &str, std::nullptr_t)
 
template<>
bool ReferenceEquals (String const &str1, String const &str2)
 

Static Public Member Functions

static void ClearLicense ()
 Clears license More...
 
static LicenseState GetLicenseState_ForInternalUse ()
 Call this from your component code to check if running evaluation version or not. More...
 
static void CheckEdition (Aspose::Page::EditionType wantEditionType, System::String message)
 Note, this function was manually tuned (made complex) so it does not decompile in Reflector. More...
 
static System::String GetFileNameInFolderOfAssembly (System::String fileName, System::SharedPtr< System::Reflection::Assembly > assembly)
 
- Static Public Member Functions inherited from System::Object
static bool ReferenceEquals (ptr const &objA, ptr const &objB)
 Compares objects by reference. More...
 
template<typename T >
static std::enable_if<!IsSmartPtr< T >::value, bool >::type ReferenceEquals (T const &objA, T const &objB)
 Compares objects by reference. More...
 
template<typename T >
static std::enable_if<!IsSmartPtr< T >::value, bool >::type ReferenceEquals (T const &objA, std::nullptr_t)
 Reference-compares value type object with nullptr. More...
 
template<typename T1 , typename T2 >
static std::enable_if< IsSmartPtr< T1 >::value &&IsSmartPtr< T2 >::value, bool >::type Equals (T1 const &objA, T2 const &objB)
 Compares reference type objects in C# style. More...
 
template<typename T1 , typename T2 >
static std::enable_if<!IsSmartPtr< T1 >::value &&!IsSmartPtr< T2 >::value, bool >::type Equals (T1 const &objA, T2 const &objB)
 Compares value type objects in C# style. More...
 
static const TypeInfoType ()
 Impleemnts C# typeof(System.Object) construct. More...
 

Static Public Attributes

static const System::String BLACKLIST
 
static const System::String BLACKLIST_CONHOLDATE
 

Protected Member Functions

virtual ~LicenseCore ()
 

Additional Inherited Members

- Public Types inherited from System::Object
typedef SmartPtr< Objectptr
 Alias for smart pointer type. More...
 
typedef System::Details::SharedMembersType shared_members_type
 structure to keep list of shared pointers contained in object. More...
 

Detailed Description

The actual code of the license class is put into an internal class and made into long functions to make it harder for the crackers to find anything meaningful after the dlls were cracked in November 2005.

Constructor & Destructor Documentation

◆ LicenseCore()

Aspose::Page::LicenseCore::LicenseCore ( )

◆ ~LicenseCore()

virtual Aspose::Page::LicenseCore::~LicenseCore ( )
protectedvirtual

Member Function Documentation

◆ CheckEdition()

static void Aspose::Page::LicenseCore::CheckEdition ( Aspose::Page::EditionType  wantEditionType,
System::String  message 
)
static

Note, this function was manually tuned (made complex) so it does not decompile in Reflector.

Call this when the user attempts to use a feature that is limited by edition type. Throws a message explaining the license limitation to the user.

Most of Aspose products are supposed to have just one edition type. Only complex products might have two edition types. When using two edition types, make sure it is easy for the client to select edition type they need.

Parameters
wantEditionTypeSpecify edition type that is required to access your feature.
messageMessage that explains what feature the user is trying to access.

For example, adding an image to the document requires Enterprise edition.

Licensing2004.CheckEdition(EditionType.Enterprise, "You tried to add an image to the document.");
//Proceed inserting the image.

◆ ClearLicense()

static void Aspose::Page::LicenseCore::ClearLicense ( )
static

Clears license

◆ get_EditionType()

Aspose::Page::EditionType Aspose::Page::LicenseCore::get_EditionType ( ) const

Gets edition type. You can use this to enable/disable some features depending on the edition type.

◆ get_EmbeddedCore()

bool Aspose::Page::LicenseCore::get_EmbeddedCore ( ) const

License number was added as embedded resource.

◆ get_LicenseExpiry()

System::DateTime Aspose::Page::LicenseCore::get_LicenseExpiry ( ) const

This is for temporary licenses.

◆ get_Products()

System::ArrayPtr<System::String> Aspose::Page::LicenseCore::get_Products ( ) const

Gets Aspose product names this license is for. You need to specify value that matches the value specified in AssemblyProduct attribute. This is used to check that the license is suitable for this product.

◆ get_SerialNumber()

System::String Aspose::Page::LicenseCore::get_SerialNumber ( ) const

Unique license number. Used to black list stolen licenses.

◆ get_SubscriptionExpiry()

System::DateTime Aspose::Page::LicenseCore::get_SubscriptionExpiry ( ) const

Gets the last date of the subscription. This is to be checked against custom attribute on the assembly that contains the relase date.

◆ GetFileNameInFolderOfAssembly()

static System::String Aspose::Page::LicenseCore::GetFileNameInFolderOfAssembly ( System::String  fileName,
System::SharedPtr< System::Reflection::Assembly assembly 
)
static

◆ GetLicenseState_ForInternalUse()

static LicenseState Aspose::Page::LicenseCore::GetLicenseState_ForInternalUse ( )
static

Call this from your component code to check if running evaluation version or not.

if (Aspose.Words.LicenseCore.GetLicenseState() == LicenseState.Evaluation)
InjectWatermark();

◆ IsLicensed()

bool Aspose::Page::LicenseCore::IsLicensed ( )

Retruns True in case license is set and valid

Returns

◆ LoadLicense() [1/2]

void Aspose::Page::LicenseCore::LoadLicense ( System::SharedPtr< System::Xml::XmlDocument doc)

Verifies the signature on the XML file and loads it into the license files, but does not check them. Made internal only for unit testing, do not call directly otherwise.

Note, this function was manually tuned (made complex) so it does not decompile in Reflector.

◆ LoadLicense() [2/2]

void Aspose::Page::LicenseCore::LoadLicense ( System::String  fileName)

See above. Use for unit testing only.

Parameters
fileName

◆ set_EmbeddedCore()

void Aspose::Page::LicenseCore::set_EmbeddedCore ( bool  value)

License number was added as embedded resource.

◆ SetLicenseCore() [1/3]

void Aspose::Page::LicenseCore::SetLicenseCore ( System::String  licenseName,
System::SharedPtr< System::Reflection::Assembly clientAssembly,
bool  isEmbedded 
)

◆ SetLicenseCore() [2/3]

void Aspose::Page::LicenseCore::SetLicenseCore ( System::String  licenseName,
System::SharedPtr< System::Reflection::Assembly clientAssembly 
)

◆ SetLicenseCore() [3/3]

void Aspose::Page::LicenseCore::SetLicenseCore ( System::SharedPtr< System::IO::Stream stream)

Note, this function was manually tuned (made complex) so it does not decompile in Reflector.

Member Data Documentation

◆ BLACKLIST

const System::String Aspose::Page::LicenseCore::BLACKLIST
static

◆ BLACKLIST_CONHOLDATE

const System::String Aspose::Page::LicenseCore::BLACKLIST_CONHOLDATE
static