Content


NTL
Core
IPackage

IPackage



Describes package for Form Builder.

You can find more information in comments below.

class IPackage
{
public:
    enum class LicenseType // Package license type 
    {
        Free, // Free without any conditions 
        FreeHome, // Free for non-commercial usage 
        FreeLimited, // Free until maximum profit 
        Trial, // User may use it for some days but should pay after if he wants to use it 
        Demo, // Demo 
        Commercial // User should pay before using 
    };

    struct Dependency // Describe package dependency on another package 
    {
        String Vendor; // Dependency package vendor 
        String Name; // Dependency package name 
        String Version; // Dependency package version 
    };
public:
    // Common information 
    virtual String getVendor() = 0; // Return vendor 
    virtual String getName() = 0; // Return package name 
    virtual String getVersion() = 0; // Return version 
    virtual String getDescription() = 0; // Return description 
    virtual String getVendorUrl() = 0; // Return vendor site or page URL 
    virtual String getReferenceUrl() = 0; // Return package documentation main page URL 
    virtual String getLicenseText() = 0; // Return license agreement text 
    virtual LicenseType getLicense() = 0; // Return license type 
    virtual bool hasStaticLinking() = 0; // Whether static linking is allowed or not 
    virtual bool hasDynamicLinking() = 0; // Whether dynamic linking is allowed or not 
    virtual bool hasSourceCode() = 0; // Whether package contains also a source code 
    virtual int getDependencyCount() = 0; // Return count of external dependencies 
    virtual Dependency getDependency(const int index) = 0; // Return external dependency description by index 

    // Supported platforms by components & controls(may be overwritten in control and components if they have another supported platform set) 
    virtual int getPlatformCount() = 0; // Return supported platform count. If 0, all platforms are supported 
    virtual PlatformVersion getPlatform(const int index) = 0; // Return supported platform description by index 

    // Components 
    virtual int getComponentCount() = 0; // Return component description count 
    virtual IPackageComponent *getComponent(const int index) = 0; // Return component description by index 
    virtual IPackageComponent *getComponent(const String &class_name) = 0; // Return component description by component class name 
    virtual IPackageComponent *getComponent(IComponent *component) = 0; // Return component description corresponding to specified component 

    // Created components 
    virtual int getCreatedComponentCount() = 0; // Return created component count 
    virtual IComponent *getCreatedComponent(const int index) = 0; // Return created component by index 
    /**
    Find created component and its related information 
    @param index Created component index 
    @param[out] component Found component 
    @param[out] package_component Component description 
    @param[out] properties Component property list 
    @param[out] events Component event list 
    @return True if component exists 
    */
    virtual bool getCreatedComponent(const int index, IComponent **component, IPackageComponent **package_component, IPropertyList **properties, IEventList **events) = 0;

    // Controls 
    virtual int getControlCount() = 0; // Return control description count 
    virtual IPackageControl *getControl(const int index) = 0; // Return control description by index 
    virtual IPackageControl *getControl(const String &class_name) = 0; // Return control description by control class name 
    virtual IPackageControl *getControl(IControl *control) = 0; // Return control description for specified control 

    // Created controls 
    virtual int getCreatedControlCount() = 0; // Return created control count 
    virtual IControl *getCreatedControl(const int index) = 0; // Return created control by index 
    /**
    Find created control and its related information 
    @param index Created control index 
    @param[out] control Found control 
    @param[out] package_control Control description 
    @param[out] properties Control property list 
    @param[out] events Control event list 
    @return True if control exists 
    */
    virtual bool getCreatedControl(const int index, IControl **control, IPackageControl **package_control, IPropertyList **properties, IEventList **events) = 0;

    // List items 
    virtual int getListItemCount() = 0; // Return list item description count 
    virtual IPackageListItem *getListItem(const int index) = 0; // Return list item description by index 
    virtual IPackageListItem *getListItem(const String &class_name) = 0; // Return list item description by list item class name 
    virtual IPackageListItem *getListItem(IListItem *listitem) = 0; // Return list item description for specified list item 

    // Forms 
    virtual int getFormCount() = 0; // Return form description count 
    virtual IPackageForm *getForm(const int index) = 0; // Return form description by index 
    virtual IPackageForm *getForm(const String &class_name) = 0; // Return form description by form class name 

    // Renderers 
    virtual int getRendererCount() = 0; // Return renderer description count 
    virtual IPackageRenderer *getRenderer(const int index) = 0; // Return renderer description by index 
    virtual IPackageRenderer *getRenderer(const String &class_name) = 0; // Return renderer description by renderer class name 

    // Property handlers 
    virtual int getPropertyHandlerCount() = 0; // Return property handler description count 
    virtual IPackagePropertyHandler *getPropertyHandler(const int index) = 0; // Return property handler description by index 
    virtual IPackagePropertyHandler *getPropertyHandler(const String &name) = 0; // Return property handler description by name 

    // Styles 
    virtual int getStyleCount() = 0; // Return style description count 
    virtual IPackageStyle *getStyle(const int index) = 0; // Return style description by index 
    virtual IPackageStyle *getStyle(const String &class_name) = 0; // Return style description by style class name 
    virtual IPackageStyle *getStyle(IStyle *style) = 0; // Return style description for specified style 

    virtual void Release() = 0; // Destroy instance 
    virtual IPackageService *QueryService() = 0; // Return service 
};
Namespace: nitisa
Include: Nitisa/Package/Interfaces/IPackage.h