Sha256: 2b346ada2249f2b4e112408cc8809a22af9b133d02a2e8aae9ee45525ab7137b

Contents?: true

Size: 1.71 KB

Versions: 1

Compression:

Stored size: 1.71 KB

Contents

#pragma once

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


namespace rho {
namespace system {

using namespace rho::apiGenerator;
using namespace rho;

// hash keys used in properties and parameters 

class CProcessFactoryBase : public CModuleFactoryBase<IProcess, IProcessSingleton, IProcessFactory>
{
protected:
    static rho::common::CAutoPtr<CProcessFactoryBase> m_pInstance;
    HashtablePtr<rho::String,IProcess*> m_hashModules;

public:

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

    static IProcessSingleton* getProcessSingletonS(){ return getInstance()->getModuleSingleton(); }

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

            return pObj;
        }

        return m_hashModules[strID];
    }

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

};

class CProcessSingletonBase : public CModuleSingletonBase< IProcessSingleton >, public rho::common::IRhoExtension
{
protected:
    DEFINE_LOGCLASS;





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

    CProcessSingletonBase();
    ~CProcessSingletonBase();




};

class CProcessBase: public IProcess
{
protected:
    DEFINE_LOGCLASS;


public:


    CProcessBase();


 

};

extern "C" void Init_Process_API();


}
}

Version data entries

1 entries across 1 versions & 1 rubygems

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