#ifndef USER_WEB_PAGE_H #define USER_WEB_PAGE_H #include "core/reference.h" #include "core/ustring.h" #include "core/vector.h" #include "modules/web/http/web_node.h" class WebServerRequest; class UserWebPage : public WebNode { GDCLASS(UserWebPage, WebNode); public: enum RenderType { RENDER_TYPE_RENDER = 0, RENDER_TYPE_REDIRECT, RENDER_TYPE_ERROR, }; RenderType get_logged_out_render_type(); void set_logged_out_render_type(const RenderType val); String get_logged_out_redirect_url(); void set_logged_out_redirect_url(const String &val); int get_logged_out_error_code(); void set_logged_out_error_code(const int val); RenderType get_logged_in_render_type(); void set_logged_in_render_type(const RenderType val); String get_logged_in_redirect_url(); void set_logged_in_redirect_url(const String &val); int get_logged_in_error_code(); void set_logged_in_error_code(const int val); bool get_render_menu(); void set_render_menu(const bool val); void _handle_request(Ref request); void _render_index(Ref request); void handle_not_logged_in(Ref request); virtual void _handle_not_logged_in(Ref request); void handle_logged_in(Ref request); virtual void _handle_logged_in(Ref request); UserWebPage(); ~UserWebPage(); protected: static void _bind_methods(); bool _render_menu; RenderType _logged_out_render_type; String _logged_out_redirect_url; int _logged_out_error_code; RenderType _logged_in_render_type; String _logged_in_redirect_url; int _logged_in_error_code; }; VARIANT_ENUM_CAST(UserWebPage::RenderType); #endif