So, if i have 3 headers like this
headers.h
#pragma once
#include <string>
#define FRAMEWORK_API extern "C" __declspec(dllimport)
class Sprite;
FRAMEWORK_API Sprite* createSprite(const char* path);
Event.h
#pragma once
#include "headers.h"
class Event
{
public:
int spriteInit(std::string path = ".\\data\\Player\\TankPlayer*.png");
};
Event.cpp
int Event::spriteInit(std::string path)
{
Sprite* newSpirte = createSprite(path);
}
Manager.h - Not deriving from Event, but includes
#pragma once
#include "Event.h"
class Manager
{
/// Send event to all interested Objects.
/// Return count of number of events sent.
int onEvent(const Event *ptrEvent) const;
};
So, the question is, how to make Manager.h
, not to see #include "headers.h"
, from Event.h
?
I don't want Manager.h
to see string
and methods of the FRAMEWORK_API
UPDATE 1: I have changed names of Classes to make sense, why do i want to do this
UPDATE 2:
I making it, because I can't #define FRAMEWORK_API extern "C" __declspec(dllimport)
twice in the code