1 /* Please see man pages for details
2 
3 
4 */
5 #ifndef NN_PHTSEL_CTR_PHTSEL_INPUT_H_
6 #define NN_PHTSEL_CTR_PHTSEL_INPUT_H_
7 
8 #include <nn/types.h>
9 #include <nn/fnd.h>
10 
11 #ifdef  __cplusplus
12 
13 namespace nn {
14 namespace phtsel {
15 namespace CTR {
16 
17 #pragma diag_error 1301
18 /*
19 
20 
21 
22  */
23 struct DateTimeConvert
24 {
25 public:
26 	s64     nSeconds;
27 public:
28 	/*
29 
30 
31 
32 
33 	  */
34 	static const DateTimeConvert&   GetMinSeconds();
35 	/*
36 
37 
38 
39 
40 	  */
41 	static const DateTimeConvert&   GetMaxSeconds();
42 
43 	/*
44 
45 
46 
47 	  */
48 	//
GetSecondsDateTimeConvert49 	s64     GetSeconds() const{ return nSeconds; }
50 	void    SetSeconds(s64 nSeconds);
51 	//
52 
53 
54 	/*=======================================================================
55 	  Seconds elapsed <--> YYYY/MM/DD HH:MM:SS
56 	  =======================================================================*/
57 	/*
58 
59 
60 
61 
62 
63 
64 
65 	  */
66 	void ConvertToParam(
67 			s32* pYear, s32* pMonth, s32* pDay,
68 			s32* pHour, s32* pMin, s32* pSec) const;
69 	/*
70 
71 
72 
73 
74 
75 
76 
77 
78 
79 
80 	  */
81 	bool ConvertFromParam(
82 			s32 nYear, s32 nMonth, s32 nDay,
83 			s32 nHour, s32 nMin, s32 nSec);
84 
85 
86 	/*=======================================================================
87 	  Seconds elapsed <--> type nn:fnd::DateTime
88 	  =======================================================================*/
89 	/*
90 
91 
92 	  */
93 	nn::fnd::DateTime    ConvertToNNDateTime() const;
94 	/*
95 
96 
97 	  */
98 	void    ConvertFromNNDateTime(const nn::fnd::DateTime& rNNDT);
99 };
100 
101 /*
102 
103  */
104 struct PhtselInput
105 {
106 public:
107     //----------------------------------------
108     //
109 
110     /* Please see man pages for details
111 
112     */
113 	enum ImageKind {
114 		ImageKindReserved0 = 0,
115 
116 		ImageKindJpeg,        //
117 		ImageKindMp,          //
118 		ImageKindReserved3,
119 
120 		ImageKindReserved4,
121 		ImageKindReserved5,
122 		ImageKindReserved6,
123 		ImageKindReserved7,
124 
125 		ImageKindNum = ImageKindReserved4
126 	};
127 
128     /* Please see man pages for details
129 
130     */
131 	enum ImageKindBit {
132 		ImageKindBitJpeg    = 1 << ImageKindJpeg,    //
133 		ImageKindBitMp      = 1 << ImageKindMp,      //
134 
135 		//
136 		ImageKindBitPicture = ImageKindBitJpeg
137 							| ImageKindBitMp
138 	};
139 
140     /* Please see man pages for details
141 
142     */
143 	static const u16   c_nShootingTypeBitDefault = 0xFFFF;
144 
145     /* Please see man pages for details
146 
147     */
148 	static const u8    c_nDistinctionTypeBitDefault = 0;
149 
150     /* Please see man pages for details
151 
152     */
153 	enum ScreenShotType {
154 		ScreenShotTypeFlagOn,	//
155 		ScreenShotTypeFlagOff,	//
156 		ScreenShotTypeAll,		//
157 		ScreenShotTypeMax
158 	};
159 
160     /* Please see man pages for details
161 
162     */
163 	enum FaceType {
164 		FaceTypeFlagOn,		//
165 		FaceTypeFlagOff,	//
166 		FaceTypeAll,		//
167 		FaceTypeMax
168 	};
169 
170 
171     /* Please see man pages for details
172 
173     */
174 	static const s32    c_nMaxFaceInfoNum = 4;
175 
176     /* Please see man pages for details
177 
178     */
179 	static const s32	cTitleUniqueIdMaxNum = 100;
180 
181     /* Please see man pages for details
182 
183     */
184 	static const u32	cTitleUniqueIdError  = 0xFFFFFFFF;
185 
186     /* Please see man pages for details
187 
188     */
189 	enum DistributeType {
190 		DistributeTypeFlagOn,			//
191 		DistributeTypeFlagOff,			//
192 		DistributeTypeAll,				//
193 		DistributeTypeMax
194 	};
195 
196     /* Please see man pages for details
197 
198     */
199 	enum STSize
200 	{
201 		STSize_Default,
202 		STSize_Num
203 	};
204 
205     /* Please see man pages for details
206 
207     */
208 	static const s32	cMessageMaxNum	= 128;
209 
210     /* Please see man pages for details
211 
212     */
213 	static const s32	cInputReservedSize	= 200;
214 
215 protected:
216 
217     /* Please see man pages for details
218 
219     */
220 	DateTimeConvert m_nSecStart;
221 
222     /* Please see man pages for details
223 
224     */
225 	DateTimeConvert m_nSecEnd;
226 
227     /* Please see man pages for details
228 
229     */
230 	u8 m_nStoTypeBit;
231 
232     /* Please see man pages for details
233 
234     */
235 	ImageKindBit m_eImgKindBit;
236 
237     /* Please see man pages for details
238 
239     */
240 	u16 m_nShootTypeBit;
241 
242     /* Please see man pages for details
243 
244     */
245 	s32 m_nMinFaceNum;
246 
247     /* Please see man pages for details
248 
249     */
250 	s32 m_nMaxFaceNum;
251 
252     /* Please see man pages for details
253 
254     */
255 	u8 m_nDisTypeBit;
256 
257     /* Please see man pages for details
258 
259     */
260 	ScreenShotType m_eScrShotType;
261 
262     /* Please see man pages for details
263 
264     */
265 	FaceType m_eFaceType;
266 
267 
268     /* Please see man pages for details
269 
270     */
271 	DistributeType m_eDistributeType;
272 
273     /* Please see man pages for details
274 
275     */
276 	u32 m_nTitleUniqueId[cTitleUniqueIdMaxNum];
277 
278     /* Please see man pages for details
279 
280     */
281 	u8  m_nTitleUniqueIdNum;
282 
283     /* Please see man pages for details
284 
285     */
286 	u8 m_padding02[ 3 ];
287 
288 
289     /* Please see man pages for details
290 
291     */
292 	STSize m_eThumbnailSize;
293 
294     /* Please see man pages for details
295 
296     */
297 	bool m_bSoundEnable;
298 
299     /* Please see man pages for details
300 
301     */
302 	wchar_t m_nMessage[cMessageMaxNum];
303 
304     /* Please see man pages for details
305 
306     */
307 	u8 m_padding03[ 2 ];
308 
309     /* Please see man pages for details
310 
311     */
312     u8                  m_reserved[cInputReservedSize];
313 public:
314 
315     //----------------------------------------
316     //
317 
318     /* Please see man pages for details
319 
320     */
321 	void InitAll();
322 
323 
324     //----------------------------------------
325     //
326 
327     /* Please see man pages for details
328 
329 
330     */
331 	void SetSecStart(const DateTimeConvert & nSecStart);
332 
333     /* Please see man pages for details
334 
335 
336     */
337 	void SetSecEnd(const DateTimeConvert & nSecEnd);
338 
339     /* Please see man pages for details
340 
341 
342     */
343 	void SetImgKindBit(ImageKindBit eImgKindBit);
344 
345     /* Please see man pages for details
346 
347 
348     */
349 	void SetScreenShotType(ScreenShotType eScrShotType);
350 
351     /* Please see man pages for details
352 
353 
354     */
355 	void SetFaceType(FaceType eFaceType);
356 
357     /* Please see man pages for details
358 
359 
360     */
361 	void SetMinFaceNum(s32 nMinFaceNum);
362 
363     /* Please see man pages for details
364 
365 
366     */
367 	void SetMaxFaceNum(s32 nMaxFaceNum);
368 
369     /* Please see man pages for details
370 
371 
372     */
373 	void SetTitleUniqueId(u32 nTitleUniqueId);
374 
375     /* Please see man pages for details
376 
377 
378     */
379 	void SetDistributeType(DistributeType	eDistributeType);
380 
381     /* Please see man pages for details
382 
383 
384     */
385 	void SetSoundEnable(bool bSoundEnable);
386 
387     /* Please see man pages for details
388 
389 
390     */
391 	void SetMessage(const wchar_t * nMessage);
392 
393     //----------------------------------------
394     //
395 
396     /* Please see man pages for details
397 
398 
399     */
400 	const DateTimeConvert & GetSecStart();
401 
402     /* Please see man pages for details
403 
404 
405     */
406 	const DateTimeConvert & GetSecEnd();
407 
408     /* Please see man pages for details
409 
410 
411     */
412 	u8 GetStoTypeBit();
413 
414     /* Please see man pages for details
415 
416 
417     */
418 	ImageKindBit GetImgKindBit();
419 
420     /* Please see man pages for details
421 
422 
423     */
424 	u16 GetShootTypeBit();
425 
426     /* Please see man pages for details
427 
428 
429     */
430 	u8 GetDisTypeBit();
431 
432     /* Please see man pages for details
433 
434 
435     */
436 	ScreenShotType GetScreenShotType();
437 
438     /* Please see man pages for details
439 
440 
441     */
442 	FaceType GetFaceType();
443 
444     /* Please see man pages for details
445 
446 
447     */
448 	s32 GetMinFaceNum();
449 
450     /* Please see man pages for details
451 
452 
453     */
454 	s32 GetMaxFaceNum();
455 
456     /* Please see man pages for details
457 
458 
459 
460     */
461 	u32 GetTitleUniqueId(u8 nTitleUniqueIdIdx);
462 
463     /* Please see man pages for details
464 
465 
466     */
467 	u32 * GetTitleUniqueIdTbl();
468 
469     /* Please see man pages for details
470 
471 
472     */
473 	u8 GetTitleUniqueIdNum();
474 
475     /* Please see man pages for details
476 
477 
478     */
479 	DistributeType GetDistributeType();
480 
481     /* Please see man pages for details
482 
483 
484     */
485 	STSize GetThumbnailSize();
486 
487     /* Please see man pages for details
488 
489 
490     */
491 	bool GetSoundEnable();
492 
493     /* Please see man pages for details
494 
495 
496     */
497 	wchar_t * GetMessage();
498 };
499 #pragma diag_default 1301
500 
501 } // end of namespace CTR
502 } // end of namespace phtsel
503 } // end of namespace nn
504 
505 #endif /*__cplusplus*/
506 
507 #endif /* NN_PHTSEL_CTR_PHTSEL_INPUT_H_ */
508