60 lines
1.0 KiB
C++
60 lines
1.0 KiB
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;
|
|
};
|
|
|
|
}
|