⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 simple_object.h

📁 audio-video-codecs.rar语音编解码器
💻 H
字号:
//
//               INTEL CORPORATION PROPRIETARY INFORMATION
//  This software is supplied under the terms of a license agreement or
//  nondisclosure agreement with Intel Corporation and may not be copied
//  or disclosed except in accordance with the terms of that agreement.
//        Copyright (c) 2005-2006 Intel Corporation. All Rights Reserved.
//

#ifndef __SIMPLE_OBJECT_H
#define __SIMPLE_OBJECT_H

#include "object.h"

template <class component, class parent = Object> class SimpleObject : public parent
{
protected:
    vm_char*     m_component_name;
    vm_char*     m_component_version;

public:
    SimpleObject(vm_char* component_name,vm_char* component_version = NULL );
    virtual ~SimpleObject();

    virtual void   * Create();
    virtual void     Destroy(void*);

    virtual vm_char* GetName();
    virtual vm_char* GetVersion();
    virtual int      Try(void*);
};

/*Implementation of SimpleObject */

template <class component, class parent>
SimpleObject<component, parent>::~SimpleObject()
{
}

template <class component, class parent>
SimpleObject<component, parent>::SimpleObject(vm_char* component_name,vm_char* component_version)
{
    m_component_name = component_name;
    m_component_version = component_version;
}

template <class component, class parent>
void*
SimpleObject<component, parent>::Create()
{
        component* p = new component;
    return p;
}

template <class component, class parent>
void SimpleObject<component, parent>::Destroy(void* p)
{
        component* p_instance = (component*) p;

    if (p_instance)
    {
        delete p_instance;
    }
}

template <class component, class parent>
vm_char *SimpleObject<component, parent>::GetName()
{
    return m_component_name;
}

template <class component, class parent>
vm_char *SimpleObject<component,parent>::GetVersion()
{
    return m_component_version;
}


template <class component, class parent>
int SimpleObject<component,parent>::Try(void*)
{
    return -1;
}

#endif//__SIMPLE_OBJECT_H

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -