class CCL::ResourceUrl

Overview

#include <url.h>

class ResourceUrl: public CCL::Url
{
public:
    // fields

    static const String Protocol;

    // construction

    ResourceUrl (StringRef path, int type = kFile);
    ResourceUrl (ModuleRef module, StringRef path, int type = kFile);
};

Inherited Members

public:
    // typedefs

    typedef CStringRef MemberID;

    // enums

    enum NormalizationFlags;
    enum StringTypes;
    enum Types;

    // classes

    class Comparer;

    // fields

    static const Url kEmpty;
    static const String strPathChar = CCLSTR ("/");
    static const String strBackslash = CCLSTR ("\\");
     IUrl;

    // 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 void CCL_API clone (IUrl*& url) const = 0;
    virtual void CCL_API assign (UrlRef url) = 0;
    virtual tbool CCL_API isEqualUrl (UrlRef url, tbool withParameters = true) const = 0;
    virtual tbool CCL_API isEmpty () const = 0;
    virtual int CCL_API getType () const = 0;
    virtual void CCL_API getUrl (String& url, tbool withParameters = false) const = 0;
    virtual void CCL_API setUrl (StringRef url, int type = kFile) = 0;
    virtual StringRef CCL_API getProtocol () const = 0;
    virtual void CCL_API setProtocol (StringRef protocol) = 0;
    virtual StringRef CCL_API getHostName () const = 0;
    virtual void CCL_API setHostName (StringRef name) = 0;
    virtual StringRef CCL_API getPath () const = 0;
    virtual void CCL_API setPath (StringRef path, int type = kIgnore) = 0;
    virtual void CCL_API getPathName (String& pathName) const = 0;
    virtual void CCL_API getName (String& name, tbool withExtension = true) const = 0;
    virtual void CCL_API setName (StringRef name, int type = kIgnore) = 0;
    virtual tbool CCL_API getExtension (String& ext) const = 0;
    virtual void CCL_API setExtension (StringRef ext, tbool replace = true) = 0;
    virtual const FileType&CCL_API getFileType () const = 0;

    virtual void CCL_API setFileType (
        const FileType& type,
        tbool replaceExtension = true
    ) = 0;

    virtual tbool CCL_API isRootPath () const = 0;
    virtual tbool CCL_API isNativePath () const = 0;
    virtual tbool CCL_API toNativePath (uchar* pathBuffer, int bufferSize) const = 0;
    virtual tbool CCL_API fromNativePath (const uchar* pathBuffer, int type = kFile) = 0;
    virtual tbool CCL_API toPOSIXPath (char* pathBuffer, int bufferSize) const = 0;
    virtual tbool CCL_API fromPOSIXPath (const char* pathBuffer, int type = kFile) = 0;

    virtual tbool CCL_API toDisplayString (
        String& displayString,
        int which = kStringNativePath
    ) const = 0;

    virtual tbool CCL_API fromDisplayString (
        StringRef displayString,
        int type = kFile
    ) = 0;

    virtual tbool CCL_API isAbsolute () const = 0;
    virtual tbool CCL_API isRelative () const = 0;
    virtual tbool CCL_API makeAbsolute (UrlRef baseUrl) = 0;
    virtual tbool CCL_API makeRelative (UrlRef baseUrl) = 0;
    virtual tbool CCL_API ascend () = 0;
    virtual tbool CCL_API descend (StringRef name, int type = kFile) = 0;
    virtual void CCL_API normalize (int flags) = 0;
    virtual IStringDictionary&CCL_API getParameters () const = 0;
    virtual void CCL_API getParameters (String& params) const = 0;
    virtual void CCL_API setParameters (StringRef params) = 0;
    virtual tbool CCL_API hasParameters () const = 0;
    IUrl bool isFile () const;
    bool isFolder () const;
    IUrl& operator = (UrlRef url);
    DECLARE_CLASS (Url, Object);
    virtual void CCL_API clone (IUrl*& url) const;
    virtual void CCL_API assign (UrlRef url);
    virtual tbool CCL_API isEqualUrl (UrlRef url, tbool withParameters = true) const;
    virtual tbool CCL_API isEmpty () const;
    virtual int CCL_API getType () const;
    virtual void CCL_API getUrl (String& url, tbool withParameters = false) const;
    virtual void CCL_API setUrl (StringRef url, int type = kFile);
    virtual StringRef CCL_API getProtocol () const;
    virtual void CCL_API setProtocol (StringRef protocol);
    virtual StringRef CCL_API getHostName () const;
    virtual void CCL_API setHostName (StringRef name);
    virtual StringRef CCL_API getPath () const;
    virtual void CCL_API setPath (StringRef path, int type = kIgnore);
    virtual void CCL_API getPathName (String& pathName) const;
    virtual void CCL_API getName (String& name, tbool withExtension = true) const;
    virtual void CCL_API setName (StringRef name, int type = kIgnore);
    virtual tbool CCL_API getExtension (String& ext) const;
    virtual void CCL_API setExtension (StringRef ext, tbool replace = true);
    virtual const FileType&CCL_API getFileType () const;

    virtual void CCL_API setFileType (
        const FileType& type,
        tbool replaceExtension = true
    );

    virtual tbool CCL_API isRootPath () const;
    virtual tbool CCL_API isNativePath () const;
    virtual tbool CCL_API toNativePath (uchar* pathBuffer, int bufferSize) const;
    virtual tbool CCL_API fromNativePath (const uchar* pathBuffer, int type = kFile);
    virtual tbool CCL_API toPOSIXPath (char* pathBuffer, int bufferSize) const;
    virtual tbool CCL_API fromPOSIXPath (const char* pathBuffer, int type = kFile);

    virtual tbool CCL_API toDisplayString (
        String& displayString,
        int which = kStringNativePath
    ) const;

    virtual tbool CCL_API fromDisplayString (
        StringRef displayString,
        int type = kFile
    );

    virtual tbool CCL_API isAbsolute () const;
    virtual tbool CCL_API isRelative () const;
    virtual tbool CCL_API makeAbsolute (UrlRef baseUrl);
    virtual tbool CCL_API makeRelative (UrlRef baseUrl);
    virtual tbool CCL_API ascend ();
    virtual tbool CCL_API descend (StringRef name, int type = kFile);
    virtual void CCL_API normalize (int flags);
    virtual IStringDictionary&CCL_API getParameters () const;
    virtual void CCL_API getParameters (String& params) const;
    virtual void CCL_API setParameters (StringRef params);
    virtual tbool CCL_API hasParameters () const;
    bool isCaseSensitive () const;
    bool contains (UrlRef childUrl) const;
    Url& makeUnique (bool forceSuffix = false);
    Url& makeUnique (IFileSystem& fileSystem, bool forceSuffix = false);
    void fromRelativePath (StringRef relative, UrlRef baseUrl, int type = kFile);
    virtual bool equals (const Object& obj) const;
    virtual bool load (const Storage& storage);
    virtual bool save (const Storage& storage) const;
    Url& operator = (const Url& url);
    Url& operator = (const IUrl& url);
    bool operator == (UrlRef url) const;
    bool operator != (UrlRef url) const;
    static bool isUrlString (StringRef string);
    static bool isRelativePathString (StringRef relative);

Detailed Documentation

Construction

ResourceUrl (StringRef path, int type = kFile)

resource resides in current module