42 lines
1.2 KiB
C
42 lines
1.2 KiB
C
|
#pragma once
|
||
|
#ifndef META_GEN_Test_PROXY_H
|
||
|
#define META_GEN_Test_PROXY_H
|
||
|
|
||
|
#include "test.h"
|
||
|
|
||
|
// namespace meta {
|
||
|
// namespace reflection {
|
||
|
|
||
|
class ::test::Test::Test_Class : public ::meta::reflection::Class {
|
||
|
public:
|
||
|
Test_Class();
|
||
|
static void Register();
|
||
|
private:
|
||
|
void AddBaseClassProxy(std::shared_ptr<::meta::reflection::Class> base) ;
|
||
|
void AddMethodProxy(std::shared_ptr<::meta::reflection::Method> method) ;
|
||
|
void AddFieldProxy(std::shared_ptr<::meta::reflection::Field> field) ;
|
||
|
};
|
||
|
|
||
|
class ::test::Test::Test_Field : public ::meta::reflection::Field {
|
||
|
public:
|
||
|
Test_Field(const std::string& name, std::shared_ptr<::meta::reflection::Class> parent);
|
||
|
|
||
|
protected:
|
||
|
::meta::reflection::any GetImpl(void* instance) const override;
|
||
|
void SetImpl(void* instance, const ::meta::reflection::any& value) const override;
|
||
|
};
|
||
|
|
||
|
class ::test::Test::Test_Method : public ::meta::reflection::Method {
|
||
|
public:
|
||
|
Test_Method(const std::string& name, std::shared_ptr<::meta::reflection::Class> parent);
|
||
|
|
||
|
protected:
|
||
|
::meta::reflection::any InvokeImpl(void* instance, const std::vector<::meta::reflection::any> ¶ms) const override;
|
||
|
};
|
||
|
|
||
|
// } // namespace reflection
|
||
|
// } // namespace meta
|
||
|
|
||
|
#endif // META_GEN_Test_PROXY_H
|
||
|
|