acme
Foundational cross-platform layer of the ca2 framework
Loading...
Searching...
No Matches
request.h
1// From apex (create -> request) by camilo on 2022-12-01 00:59 <3ThomasBorregaardSorensen!!
2#pragma once
3
4
6//#include "acme/prototype/prototype/payload.h"
7#include "acme/user/user/e_window_flag.h"
8
9#include "acme/parallelization/manual_reset_happening.h"
10
11
12#ifdef UNIVERSAL_WINDOWS
13#define CREATE_STRUCT_P_CREATE_PARAMS pCreateParams
14#else
15#define CREATE_STRUCT_P_CREATE_PARAMS lpCreateParams
16#endif
17
18
19#include "acme/graphics/graphics/output_purpose.h"
20//
21//class CLASS_DECL_ACME request_stack :
22//virtual public ::particle
23//{
24//public:
25//
26//
27// ::pointer < class ::request > m_prequestHold;
28//
29// request_stack(::request * prequest);
30//
31// ~request_stack() override;
32//
33//
34// class ::request * request();
35//
36//};
37//
38//
39//class CLASS_DECL_ACME request_scope
40//{
41//public:
42//
43//
44// ::pointer < ::request_stack > m_prequeststack;
45//
46// request_scope(::pointer < request_stack > && prequeststack);
47// request_scope(const ::pointer < request_stack > & prequeststack);
48//
49// ~request_scope();
50//
51//
52// class ::request * request();
53//
54//
55//};
56
57
58class CLASS_DECL_ACME request :
59 virtual public ::object,
60 virtual public ::graphics::output_purpose
61{
62public:
63
64
65
66
67
68
69 bool m_bNew;
70 string m_strDescription;
71 e_command m_ecommand;
72 bool m_bPreferSync = false;
73 string m_strAppId;
74 ::payload m_payloadFile;
75 ::payload m_payloadArguments;
76 ::payload m_payloadOptions;
77 string m_strExtra;
78 ::e_status m_estatus;
79 //::particle_pointer m_pparticleTopic;
80
81 bool m_bDocumentAndFrameCreated = false;
82 bool m_bDocumentWasModified = false;
83
84 //bool m_bMakeVisible;
85 bool m_bTransparentBackground;
86 bool m_bExperienceMainFrame;
87 bool m_bOuterPopupAlertLike;
88 bool m_bHold;
89 ::pointer<::user::element> m_puserelementParent;
90 ::pointer<::user::element> m_puserelementAlloc;
91 //::pointer<command_line> m_pcommandline;
92 ::pointer<::matter> m_pmatterUserPayload;
93 e_window_flag m_ewindowflag;
94 ::atom m_atomRequest;
95 //enum_command m_ecommand;
96 bool m_bShowSplash;
97 bool m_bRunEmbedded;
98 bool m_bRunAutomated;
99 ::i32 m_nCmdShow;
102 ::pointer_array < ::request > m_requesta;
103 // not ok for file_new
104 //::payload m_payloadFile;
105
106 // ok only for file_print_to
107 string m_strPrinterName;
108 string m_strDriverName;
109 string m_strPortName;
110
111 ::file::item_array * m_pitema;
112
113 ::pointer<::platform::context> m_pcontextFork;
114 string m_strExe;
115 string m_strApp;
116 string m_strAppType;
117 ::collection::index m_iEdge;
118 manual_reset_happening m_happeningReady;
119 ::request * m_prequest;
120 string m_strCommandLine;
121 ::pointer < ::data::data > m_pdata;
122 ::procedure_array m_procedureaOnFinishRequest;
123
124
125 request();
126 ~request() override;
127
128
129 //command_line();
130 //~command_line() override;
131
132
133 ::i64 increment_reference_count() override;
134 ::i64 decrement_reference_count() override;
135
136
137 void common_construct();
138
139
140 //[[nodiscard]]::pointer < ::request> push_request();
141 //void pop_request(::request * pstack);
142
143
144
145 virtual void initialize_command_line2(const ::scoped_string & scopedstrCommandLine);
146
147 virtual void initialize_arguments(::string_array_base& straArguments);
148
149
150 //command_line & operator = (const command_line & commandline);
151
152
153 virtual void ParseParam(const ::scoped_string & scopedstrParam, bool bFlag, bool bLast);
154 virtual void ParseParamFlag(const ::scoped_string & scopedstrParam);
155 virtual void ParseParamNotFlag(const ::scoped_string & scopedstrParam);
156 virtual void ParseLast(bool bLast);
157
158
159 virtual void _001ParseCommandLine(const ::scoped_string & scopedstrCommandLine);
160 virtual void _001ParseCommandLineUri(const ::scoped_string & scopedstrCommandLine);
161
162 virtual void _001ParseCommandFork(const ::scoped_string & scopedstrCommandFork);
163 virtual void _001ParseCommandForkUri(const ::scoped_string & scopedstrCommandFork);
164
165
166 virtual void _001ParseCommandArguments(::string_array_base& straArguments);
167
168
169 virtual void initialize_create(arguments arguments);
170 virtual void initialize_create(const ::scoped_string & scopedstrAppId, ::payload payloadFile, const ::payload& varOptions = __visible(true), ::user::element * puiParent = nullptr, e_window_flag eflag = e_window_flag_none, ::atom = ::atom());
171 virtual void initialize_create(::data::data * pdata, const ::payload & varOptions = __visible(true), ::user::element * puiParent = nullptr, e_window_flag eflag = e_window_flag_none, ::atom = ::atom());
172
173
174 void create_common_construct(const ::payload & varOptions, ::user::element * puiParent);
175
176
177 ::platform::application * create_get_app(::platform::application * pappFallback = nullptr);
178
179
180 void finish_initialization();
181
182 virtual string get_description();
183 virtual void set_description(const ::scoped_string & scopedstrDescription);
184
185 virtual ::collection::index get_edge();
186 //virtual ::application_bias * get_application_bias();
187
188 virtual bool has_file() const;
189 virtual ::payload get_file() const;
190 virtual void set_file_path(const ::payload & payload);
191 //request & operator = (const request & request);
192
193
194 //inline ::user::system * get_user_create() { return __user_system2(m_pusersystem); }
195
196 void destroy() override;
197
198};
199
200
201
202
203
Definition atom.h:237
Definition data.h:18
Definition e_status.h:30
Definition item_array.h:14
Definition output_purpose.h:29
Definition aaa_manual_reset_event.h:26
virtual void destroy() override
Definition bbb_context_object.cpp:242
Definition application.h:64
bool m_bFinishedStacking
interlocked_count m_countStack;
Definition request.h:101