46 lines
1.1 KiB
C++
Executable File
46 lines
1.1 KiB
C++
Executable File
/**
|
|
* Handler for all assets
|
|
* $Id$
|
|
* $HeadURL$
|
|
* $Author$
|
|
* Created by Iuliana Ojog, SLSE, 2017-09-20
|
|
*/
|
|
#pragma once
|
|
|
|
#include <QObject>
|
|
#include <QHash>
|
|
|
|
#include "dds_handler.h"
|
|
#include "logger.h"
|
|
|
|
namespace AssetManagement
|
|
{
|
|
class MainHandler;
|
|
class ObjectAsset;
|
|
class HandlerAsset final : public QObject
|
|
, protected Interface::Fts::AssetModifyRequestHandler
|
|
, protected Interface::Fts::AssetRemoveRequestHandler
|
|
{
|
|
Q_OBJECT
|
|
public:
|
|
explicit HandlerAsset(MainHandler *mainHandler,
|
|
QObject *parent = nullptr);
|
|
~HandlerAsset();
|
|
|
|
bool init();
|
|
|
|
private:
|
|
void onAssetModifyRequest(const rti::core::SampleIdentity &cookie,
|
|
const Asset &request) override;
|
|
Core::FunctionReplyObject assetModifyRequest(const Asset &request);
|
|
void onAssetRemoveRequest(const rti::core::SampleIdentity &cookie,
|
|
const Core::RemoveElementRequest &request) override;
|
|
|
|
private:
|
|
QHash<int, ObjectAsset *> m_objectAssetMap;
|
|
MainHandler *m_mainHandler;
|
|
NGL::INGLLogger &m_logger;
|
|
|
|
};
|
|
}
|