56 lines
1006 B
C++
56 lines
1006 B
C++
// **************************************************************************
|
|
//
|
|
// (C) Copyright 2009 Swiss SIMTEC AG
|
|
//
|
|
// **************************************************************************
|
|
// $HeadURL$
|
|
// $LastChangedBy$
|
|
// $LastChangedDate$
|
|
//
|
|
// Implementation of the Class IAppComponent
|
|
// **************************************************************************
|
|
|
|
#pragma once
|
|
|
|
#include <QtCore/QString>
|
|
|
|
namespace NGL
|
|
{
|
|
class Settings;
|
|
}
|
|
|
|
namespace N_AppComponent
|
|
{
|
|
class IAppComponent
|
|
{
|
|
public:
|
|
IAppComponent() = default;
|
|
virtual ~IAppComponent() = default;
|
|
|
|
virtual int32_t create(NGL::Settings *settings) = 0;
|
|
|
|
|
|
virtual int32_t deinit() = 0;
|
|
|
|
|
|
virtual int32_t destroy() = 0;
|
|
|
|
|
|
virtual int32_t init() = 0;
|
|
|
|
|
|
virtual int32_t start() = 0;
|
|
|
|
|
|
virtual int32_t stop() = 0;
|
|
|
|
|
|
inline const QString &getName() const { return m_Name; }
|
|
inline void setName(const QString &newVal) { m_Name = newVal; }
|
|
|
|
protected:
|
|
QString m_Name;
|
|
};
|
|
|
|
}
|