Make threading and networking optional
This commit is contained in:
32
include/TessesFramework/HiddenField.hpp
Normal file
32
include/TessesFramework/HiddenField.hpp
Normal file
@ -0,0 +1,32 @@
|
||||
#pragma once
|
||||
|
||||
#include <functional>
|
||||
|
||||
namespace Tesses::Framework {
|
||||
class HiddenFieldData {
|
||||
public:
|
||||
virtual ~HiddenFieldData();
|
||||
};
|
||||
|
||||
class HiddenField {
|
||||
private:
|
||||
HiddenFieldData* ptr;
|
||||
public:
|
||||
HiddenField();
|
||||
HiddenField(HiddenFieldData* data);
|
||||
void SetField(HiddenFieldData* data);
|
||||
template<typename T>
|
||||
T GetField()
|
||||
{
|
||||
return dynamic_cast<T>(ptr);
|
||||
}
|
||||
template<typename T>
|
||||
T AllocField()
|
||||
{
|
||||
auto v = new T();
|
||||
SetField(v);
|
||||
return v;
|
||||
}
|
||||
~HiddenField();
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user