class Warrior{
public:
virtual std::string getDescription() const = 0;
};
PLUMA_PROVIDER_HEADER(Warrior);
#include "Warrior.hpp"
PLUMA_PROVIDER_SOURCE(Warrior, 1, 1);
#include "Warrior.hpp"
class Eagle: public Warrior{
public:
std::string getDescription(){
return "Eagle Warrior: soldier of the sun";
}
};
PLUMA_INHERIT_PROVIDER(Type, BaseType)
PLUMA_INHERIT_PROVIDER(Eagle, Warrior);
#include <Pluma/Pluma.hpp>
#include <Pluma/Connector.hpp>
PLUMA_CONNECTOR
bool connect(pluma::Host& host){
...
}
host.add( new EagleProvider() );
host.add( new JaguarProvider() );
pluma::Pluma manager;
manager.acceptProviderType< WarriorProvider >();
manager.load("plugins", "elite-warriors");
pluma.loadFromFolder("plugins", true);
std::vector<WarriorProvider*> providers;
manager.getProviders(providers);
std::vector<WarriorProvider*>::iterator it;
for (it = providers.begin() ; it != providers.end() ; ++it){
Warrior* warrior = (*it)->create();
std::cout << warrior->getDescription() << std::endl;
delete warrior;
}
▲Windows에서 MinGW 7.3.0 컴파일 후 실행. Plugin.dll (플러그인)을 로드하여 각각 Description을 출력한다.
번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|---|
16 | 라즈베리파이4에서 openFrameworks 예제 실행 | makersweb | 2020.12.13 | 1398 |
15 | Dear ImGui, 경량의 C++ 용 GUI 및 Widget 라이브러리 | makersweb | 2020.11.28 | 10361 |
14 | GENIVI DLT(Diagnostic Log and Trace) 활용 | makersweb | 2020.11.19 | 10946 |
13 | 윈도우에서 안드로이드 flutter 프로그래밍 개발환경 구축(with Visual Studio Code) | makersweb | 2020.09.16 | 1704 |
12 | 가볍고 쉬운 임베디드용 그래픽 라이브러리 - LVGL | makersweb | 2020.09.16 | 4469 |
11 | Qt와 GStreamer 로 작성한 flac 오디오 재생 예제 | makersweb | 2020.09.05 | 1886 |
10 | ZeroMQ 비동기 클라이언트/서버 패턴 | makersweb | 2020.08.13 | 2680 |
9 | ZeroMQ의 기본 메세지 패턴들 | makersweb | 2020.07.31 | 9720 |
8 | [SDL2 와 OpenGL]윈도우 생성과 2D그래픽 | makersweb | 2020.04.11 | 3870 |
» | Pluma(C++ Plug-in Management Framework) 튜토리얼 | makersweb | 2019.12.07 | 14705 |
6 | 도커(docker)설치 및 기본 명령어 | makersweb | 2019.12.02 | 1259 |
5 | webOS소개 및 Raspberry Pi 3 에서 실행 | makersweb | 2019.10.13 | 4650 |
4 | 리눅스에서 SDL2 최신버전 컴파일과 Qt Creator로 개발환경 구성 | makersweb | 2019.10.06 | 3815 |
3 | 텔레그램(Telegram) Bot 개발 | makersweb | 2019.07.21 | 6590 |
2 | GDBus 튜토리얼(GDBus tutorial) | makersweb | 2019.06.30 | 11871 |
1 | Wayland IVI Extension 간단 리뷰 | makersweb | 2019.05.12 | 3007 |