1 /* Copyright 2013 Akira Ohta (akohta001@gmail.com)
2 This file is part of ntch.
4 The ntch is free software: you can redistribute it and/or modify
5 it under the terms of the GNU General Public License as published by
6 the Free Software Foundation, either version 3 of the License, or
7 (at your option) any later version.
9 The ntch is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 GNU General Public License for more details.
14 You should have received a copy of the GNU General Public License
15 along with ntch. If not, see <http://www.gnu.org/licenses/>.
21 #define MODEL_2CH_PRIVATE_DATA
23 #include "utils/nt_std_t.h"
24 #include "utils/text.h"
25 #include "html/html_string.h"
26 #include "_2ch/model_2ch.h"
28 const wchar_t* nt_category_get_name(nt_category_handle h_category)
30 nt_category_tp categoryp;
32 assert(h_category->chk_sum == NT_2CH_CATEGORY_CHK_SUM);
33 categoryp = (nt_category_tp)h_category;
34 assert(categoryp->name);
35 return categoryp->name;
38 int nt_category_get_board_count(nt_category_handle h_category)
40 nt_category_tp categoryp;
42 assert(h_category->chk_sum == NT_2CH_CATEGORY_CHK_SUM);
43 categoryp = (nt_category_tp)h_category;
44 if(!categoryp->boardlistp)
46 return nt_link_num(categoryp->boardlistp);
49 const wchar_t* nt_board_get_name(nt_board_handle h_board)
53 assert(h_board->chk_sum == NT_2CH_BOARD_CHK_SUM);
54 boardp = (nt_board_tp)h_board;
59 const wchar_t* nt_board_get_address(nt_board_handle h_board)
63 assert(h_board->chk_sum == NT_2CH_BOARD_CHK_SUM);
64 boardp = (nt_board_tp)h_board;
65 assert(boardp->address);
66 return boardp->address;
69 int nt_board_get_thread_count(nt_board_handle h_board)
73 assert(h_board->chk_sum == NT_2CH_BOARD_CHK_SUM);
74 boardp = (nt_board_tp)h_board;
75 if(!boardp->threadlistp)
77 return nt_link_num(boardp->threadlistp);
80 int nt_thread_get_seq_number(nt_thread_handle h_thread)
84 assert(h_thread->chk_sum == NT_2CH_THREAD_CHK_SUM);
85 threadp = (nt_thread_tp)h_thread;
86 return threadp->seq_no;
89 const wchar_t* nt_thread_get_title(nt_thread_handle h_thread)
93 assert(h_thread->chk_sum == NT_2CH_THREAD_CHK_SUM);
94 threadp = (nt_thread_tp)h_thread;
95 assert(threadp->name);
99 const wchar_t* nt_thread_get_dat_name(nt_thread_handle h_thread)
101 nt_thread_tp threadp;
103 assert(h_thread->chk_sum == NT_2CH_THREAD_CHK_SUM);
104 threadp = (nt_thread_tp)h_thread;
105 assert(threadp->file_name);
106 return threadp->file_name;
109 int nt_thread_get_res_count(nt_thread_handle h_thread)
111 nt_thread_tp threadp;
113 assert(h_thread->chk_sum == NT_2CH_THREAD_CHK_SUM);
114 threadp = (nt_thread_tp)h_thread;
115 return threadp->num_res;
118 int nt_res_get_seq_number(nt_res_handle h_res)
122 assert(h_res->chk_sum == NT_2CH_RES_CHK_SUM);
123 resp = (nt_res_tp)h_res;
127 const wchar_t* nt_res_get_name(nt_res_handle h_res)
131 assert(h_res->chk_sum == NT_2CH_RES_CHK_SUM);
132 resp = (nt_res_tp)h_res;
137 const wchar_t* nt_res_get_mail(nt_res_handle h_res)
141 assert(h_res->chk_sum == NT_2CH_RES_CHK_SUM);
142 resp = (nt_res_tp)h_res;
147 const wchar_t* nt_res_get_misc(nt_res_handle h_res)
151 assert(h_res->chk_sum == NT_2CH_RES_CHK_SUM);
152 resp = (nt_res_tp)h_res;
157 const wchar_t* nt_res_get_msg(nt_res_handle h_res)
161 assert(h_res->chk_sum == NT_2CH_RES_CHK_SUM);
162 resp = (nt_res_tp)h_res;
167 const wchar_t* nt_2ch_selected_item_get_board_name(
168 nt_2ch_selected_item_handle h_select)
170 nt_2ch_selected_item_tp selectp;
172 assert(h_select->chk_sum == NT_2CH_SELECTED_ITEM_CHK_SUM);
173 selectp = (nt_2ch_selected_item_tp)h_select;
174 if(!selectp->selected_boardp)
176 return nt_board_get_name(&selectp->selected_boardp->handle);
179 const wchar_t* nt_2ch_selected_item_get_thread_title(
180 nt_2ch_selected_item_handle h_select)
182 nt_2ch_selected_item_tp selectp;
184 assert(h_select->chk_sum == NT_2CH_SELECTED_ITEM_CHK_SUM);
185 selectp = (nt_2ch_selected_item_tp)h_select;
186 if(!selectp->selected_threadp)
188 return nt_thread_get_title(&selectp->selected_threadp->handle);
191 const wchar_t* nt_2ch_selected_item_get_thread_dat_name(
192 nt_2ch_selected_item_handle h_select)
194 nt_2ch_selected_item_tp selectp;
196 assert(h_select->chk_sum == NT_2CH_SELECTED_ITEM_CHK_SUM);
197 selectp = (nt_2ch_selected_item_tp)h_select;
198 if(!selectp->selected_threadp)
200 return nt_thread_get_dat_name(&selectp->selected_threadp->handle);
203 const wchar_t* nt_write_data_get_status_msg(
204 nt_write_data_handle h_write_data)
206 nt_write_data_tp writep;
207 assert(h_write_data);
208 assert(h_write_data->chk_sum == NT_2CH_WRITE_DATA_CHK_SUM);
209 writep = (nt_write_data_tp)h_write_data;
210 if(!writep->status_msg)
212 return writep->status_msg;
215 const wchar_t* nt_write_data_get_html_result(
216 nt_write_data_handle h_write_data)
218 nt_write_data_tp writep;
219 assert(h_write_data);
220 assert(h_write_data->chk_sum == NT_2CH_WRITE_DATA_CHK_SUM);
221 writep = (nt_write_data_tp)h_write_data;
222 if(!writep->result_html)
224 return writep->result_html;
227 const char* nt_write_data_get_name(nt_write_data_handle h_write_data)
229 nt_write_data_tp writep;
230 assert(h_write_data);
231 assert(h_write_data->chk_sum == NT_2CH_WRITE_DATA_CHK_SUM);
232 writep = (nt_write_data_tp)h_write_data;
236 const char* nt_write_data_get_mail(nt_write_data_handle h_write_data)
238 nt_write_data_tp writep;
239 assert(h_write_data);
240 assert(h_write_data->chk_sum == NT_2CH_WRITE_DATA_CHK_SUM);
241 writep = (nt_write_data_tp)h_write_data;
245 const char* nt_write_data_get_msg(nt_write_data_handle h_write_data)
247 nt_write_data_tp writep;
248 assert(h_write_data);
249 assert(h_write_data->chk_sum == NT_2CH_WRITE_DATA_CHK_SUM);
250 writep = (nt_write_data_tp)h_write_data;
254 void nt_write_data_set_status_msg(
255 nt_write_data_handle h_write_data, const wchar_t *status_msg)
257 nt_write_data_tp writep;
258 assert(h_write_data);
259 assert(h_write_data->chk_sum == NT_2CH_WRITE_DATA_CHK_SUM);
260 writep = (nt_write_data_tp)h_write_data;
261 if(writep->status_msg)
262 free(writep->status_msg);
263 writep->status_msg = nt_w_str_clone(status_msg);
266 void nt_write_data_set_html_result(
267 nt_write_data_handle h_write_data, const wchar_t *html_result)
269 nt_write_data_tp writep;
270 assert(h_write_data);
271 assert(h_write_data->chk_sum == NT_2CH_WRITE_DATA_CHK_SUM);
272 writep = (nt_write_data_tp)h_write_data;
273 if(writep->result_html)
274 free(writep->result_html);
275 writep->result_html = nt_w_str_clone(html_result);
278 void nt_write_data_set_name(
279 nt_write_data_handle h_write_data, const char *name)
281 nt_write_data_tp writep;
282 assert(h_write_data);
283 assert(h_write_data->chk_sum == NT_2CH_WRITE_DATA_CHK_SUM);
284 writep = (nt_write_data_tp)h_write_data;
287 writep->name = nt_str_clone(name);
290 void nt_write_data_set_mail(
291 nt_write_data_handle h_write_data, const char *mail)
293 nt_write_data_tp writep;
294 assert(h_write_data);
295 assert(h_write_data->chk_sum == NT_2CH_WRITE_DATA_CHK_SUM);
296 writep = (nt_write_data_tp)h_write_data;
299 writep->mail = nt_str_clone(mail);
302 void nt_write_data_set_msg(
303 nt_write_data_handle h_write_data, const char *msg)
305 nt_write_data_tp writep;
306 assert(h_write_data);
307 assert(h_write_data->chk_sum == NT_2CH_WRITE_DATA_CHK_SUM);
308 writep = (nt_write_data_tp)h_write_data;
311 writep->msg = nt_str_clone(msg);
315 void nt_set_selected_board(nt_2ch_selected_item_handle h_select,
316 nt_category_handle h_category, nt_board_handle h_board)
318 nt_2ch_selected_item_tp selectp;
322 assert(h_select->chk_sum == NT_2CH_SELECTED_ITEM_CHK_SUM);
323 assert(h_category->chk_sum == NT_2CH_CATEGORY_CHK_SUM);
324 assert(h_board->chk_sum == NT_2CH_BOARD_CHK_SUM);
326 selectp = (nt_2ch_selected_item_tp)h_select;
328 if(selectp->selected_categoryp != NULL)
329 nt_category_release_ref(&selectp->selected_categoryp->handle);
330 if(selectp->selected_boardp != NULL)
331 nt_board_release_ref(&selectp->selected_boardp->handle);
332 if(selectp->selected_threadp != NULL)
333 nt_thread_release_ref(&selectp->selected_threadp->handle);
335 nt_category_add_ref(h_category);
336 nt_board_add_ref(h_board);
338 selectp->selected_categoryp = (nt_category_tp)h_category;
339 selectp->selected_boardp = (nt_board_tp)h_board;
340 selectp->selected_threadp = NULL;
344 void nt_set_selected_thread(nt_2ch_selected_item_handle h_select,
345 nt_thread_handle h_thread)
347 nt_2ch_selected_item_tp selectp;
350 assert(h_select->chk_sum == NT_2CH_SELECTED_ITEM_CHK_SUM);
351 assert(h_thread->chk_sum == NT_2CH_THREAD_CHK_SUM);
353 selectp = (nt_2ch_selected_item_tp)h_select;
354 assert(selectp->selected_categoryp);
355 assert(selectp->selected_boardp);
357 if(selectp->selected_threadp != NULL)
358 nt_thread_release_ref(&selectp->selected_threadp->handle);
359 selectp->selected_threadp = (nt_thread_tp)h_thread;
360 nt_thread_add_ref(h_thread);
364 nt_category_handle nt_get_selected_category(nt_2ch_selected_item_handle h_select)
366 nt_2ch_selected_item_tp selectp;
368 assert(h_select->chk_sum == NT_2CH_SELECTED_ITEM_CHK_SUM);
369 selectp = (nt_2ch_selected_item_tp)h_select;
370 if(!selectp->selected_categoryp)
372 nt_category_add_ref(&selectp->selected_categoryp->handle);
373 return &selectp->selected_categoryp->handle;
376 nt_board_handle nt_get_selected_board(nt_2ch_selected_item_handle h_select)
378 nt_2ch_selected_item_tp selectp;
380 assert(h_select->chk_sum == NT_2CH_SELECTED_ITEM_CHK_SUM);
381 selectp = (nt_2ch_selected_item_tp)h_select;
382 if(!selectp->selected_boardp)
384 nt_board_add_ref(&selectp->selected_boardp->handle);
385 return &selectp->selected_boardp->handle;
388 nt_thread_handle nt_get_selected_thread(nt_2ch_selected_item_handle h_select)
390 nt_2ch_selected_item_tp selectp;
392 assert(h_select->chk_sum == NT_2CH_SELECTED_ITEM_CHK_SUM);
393 selectp = (nt_2ch_selected_item_tp)h_select;
394 if(!selectp->selected_threadp)
396 nt_thread_add_ref(&selectp->selected_threadp->handle);
397 return &selectp->selected_threadp->handle;