Sha256: 7aab213b59db141a97cf7252b66a26b9fe9947f6e31815e6d27f0a052dedcebd

Contents?: true

Size: 1.69 KB

Versions: 1

Compression:

Stored size: 1.69 KB

Contents

#pragma once

#include "IRhoFile.h"
#include "logging/RhoLog.h"
#include "common/StringConverter.h"
#include "common/ExtManager.h"


namespace rho {

using namespace rho::apiGenerator;
using namespace rho;

// hash keys used in properties and parameters 

class CRhoFileFactoryBase : public CModuleFactoryBase<IRhoFile, IRhoFileSingleton, IRhoFileFactory>
{
protected:
    static rho::common::CAutoPtr<CRhoFileFactoryBase> m_pInstance;
    HashtablePtr<rho::String,IRhoFile*> m_hashModules;

public:

    static void setInstance(CRhoFileFactoryBase* pInstance){ m_pInstance = pInstance; }
    static CRhoFileFactoryBase* getInstance(){ return m_pInstance; }

    static IRhoFileSingleton* getRhoFileSingletonS(){ return getInstance()->getModuleSingleton(); }

    virtual IRhoFile* getModuleByID(const rho::String& strID)
    {
        if ( !m_hashModules.containsKey(strID) )
        {
            IRhoFile* pObj = createModuleByID(strID);
            m_hashModules.put(strID, pObj );

            return pObj;
        }

        return m_hashModules[strID];
    }

    virtual IRhoFile* createModuleByID(const rho::String& strID){ return (IRhoFile*)0; };
    virtual void deleteModuleByID(const rho::String& strID)
    {
        m_hashModules.remove(strID);
    }

};

class CRhoFileSingletonBase : public CModuleSingletonBase< IRhoFileSingleton >, public rho::common::IRhoExtension
{
protected:
    DEFINE_LOGCLASS;





public:
    virtual rho::LogCategory getModuleLogCategory(){ return getLogCategory(); }

    CRhoFileSingletonBase();
    ~CRhoFileSingletonBase();




};

class CRhoFileBase: public IRhoFile
{
protected:
    DEFINE_LOGCLASS;


public:


    CRhoFileBase();


 

};

extern "C" void Init_RhoFile_API();


}

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
tauplatform-1.0.1 lib/commonAPI/coreapi/ext/shared/generated/cpp/RhoFileBase.h