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