1 /*---------------------------------------------------------------------------* 2 Project: Horizon 3 File: cfg_Api.h 4 5 Copyright (C)2009 Nintendo Co., Ltd. All rights reserved. 6 7 These coded instructions, statements, and computer programs contain 8 proprietary information of Nintendo of America Inc. and/or Nintendo 9 Company Ltd., and are protected by Federal copyright law. They may 10 not be disclosed to third parties or copied or duplicated in any form, 11 in whole or in part, without the prior written consent of Nintendo. 12 13 $Rev: 31668 $ 14 *---------------------------------------------------------------------------*/ 15 16 #ifndef NN_CFG_CTR_CFG_API_H_ 17 #define NN_CFG_CTR_CFG_API_H_ 18 19 /*! @file 20 @brief 本体設定に関するAPIの宣言 21 22 :include nn/cfg.h 23 */ 24 25 #include <nn/cfg/CTR/cfg_UserInfo.h> 26 #include <nn/cfg/CTR/cfg_LanguageCode.h> 27 #include <nn/cfg/CTR/cfg_CountryCode.h> 28 #include <nn/cfg/CTR/cfg_RegionCode.h> 29 #include <nn/cfg/CTR/cfg_Sound.h> 30 #include <nn/Result.h> 31 32 #ifdef __cplusplus 33 34 namespace nn { 35 namespace cfg { 36 namespace CTR { 37 38 /*! 39 @brief 設定ライブラリを初期化します。 40 41 @return なし。 42 */ 43 void Initialize(void); 44 45 /*! 46 @brief 設定ライブラリを終了します。 47 48 @return なし。 49 */ 50 void Finalize(void); 51 52 /*! 53 @brief ユーザ名を取得します。 54 55 @param[out] pUserName 取得したユーザ名と NG ワードフラグが格納されます。 56 57 @return なし。 58 */ 59 void GetUserName(UserName* pUserName); 60 61 /*! 62 @brief 誕生日を取得します。 63 64 @param[out] pBirthday 取得した誕生日が格納されます。 65 66 @return なし。 67 */ 68 void GetBirthday(Birthday* pBirthday); 69 70 /*! 71 @brief 国および地域コードを取得します。 72 73 @return 取得結果が返ります。 74 */ 75 CfgCountryCode GetCountry(void); 76 77 /*! 78 @brief 国および地域コードを ISO 3166-1 alpha-2 に変換します。 79 本 API はメモリ上の値を返すため高速です。 80 81 @param[in] cfgCountryCode 国および地域コードを指定します。 82 83 @return 国および地域コードに対応する文字列へのポインタが返ります。 84 対応する文字列がない場合は NULL が返ります。 85 */ 86 const char* GetCountryCodeA2(CfgCountryCode cfgCountryCode); 87 88 /*! 89 @brief 言語コードを取得します。 90 91 @return 取得した言語コードが返ります。 92 */ 93 CfgLanguageCode GetLanguage(void); 94 95 /*! 96 @brief 言語コードを ISO 639-1 alpha-2 に変換します。 97 本 API はメモリ上の値を返すため高速です。 98 99 @param[in] cfgLanguageCode 言語コードを指定します。 100 101 @return 言語コードに対応する文字列へのポインタが返ります。 102 対応する文字列がない場合は NULL が返ります。 103 */ 104 const char* GetLanguageCodeA2(CfgLanguageCode cfgLanguageCode); 105 106 /*! 107 @brief アドレス情報を取得します。 108 109 @param[out] pSimpleAddress 取得したアドレス情報が格納されます。 110 */ 111 void GetSimpleAddress(SimpleAddress* pSimpleAddress); 112 113 /*! 114 @brief 本体仕向地のリージョンコードを取得します。 115 116 @return 取得したリージョンコードが返ります。 117 */ 118 CfgRegionCode GetRegion(void); 119 120 /*! 121 @brief 本体仕向地のリージョンコードを対応する 3 文字の文字列に変換します。 122 本 API はメモリ上の値を返すため高速です。 123 124 @param[in] cfgRegionCode リージョンコードを指定します。 125 126 @return リージョンコードに対応する文字列へのポインタが返ります。 127 対応する文字列がない場合は NULL が返ります。 128 */ 129 const char* GetRegionCodeA3(CfgRegionCode cfgRegionCode); 130 131 /*! 132 @brief サウンド出力モードを取得します。 133 134 @return 本体設定で設定したサウンド出力モードが返ります。 135 */ 136 CfgSoundOutputMode GetSoundOutputMode(void); 137 138 /*! 139 @brief RTC改変オフセット情報を取得します。 140 141 RTCオフセット値とは、エンドユーザーがRTCの日付・時刻を変更した際にどれだけ未来に進めたか、 142 もしくは過去へ戻したかを保存しておくオフセット値です。 143 144 アプリケーションでは起動の都度このオフセット値を確認することで、エンドユーザーが行なった時間の改変を知ることができます。 145 146 @return 本体に保存されているRTCオフセット値を取得します。 147 */ 148 nn::fnd::TimeSpan GetUserTimeOffset(); 149 150 151 /*! 152 @brief ペアレンタルコントロールの暗証番号の文字列長です。 153 */ 154 const u8 CFG_PARENTAL_CONTROL_PIN_CODE_LENGTH = 4; 155 156 /*! 157 @brief ペアレンタルコントロールの暗証番号を取得します。 158 159 @return なし。 160 */ 161 void GetParentalControlPinCode(char pinCode[CFG_PARENTAL_CONTROL_PIN_CODE_LENGTH]); 162 163 /*! 164 @brief ペアレンタルコントロールで写真の交換が制限されているかどうかを取得します。 165 166 @return 制限されていれば true 、制限されていなければ false が返ります。 167 */ 168 bool IsRestrictPhotoExchange(void); 169 170 /*! 171 @brief ペアレンタルコントロールでフレンドの追加が制限されているかどうかを取得します。 172 173 @return 制限されていれば true 、制限されていなければ false が返ります。 174 */ 175 bool IsRestrictAddFriend(void); 176 177 /*! 178 @brief ペアレンタルコントロールで他のユーザーとのインターネット通信が制限されているかどうかを取得します。 179 180 @return 制限されていれば true 、制限されていなければ false が返ります。 181 */ 182 bool IsRestrictP2pInternet(void); 183 184 /*! 185 @brief ペアレンタルコントロールで他のユーザーとのすれ違い通信が制限されているかどうかを取得します。 186 187 @return 制限されていれば true 、制限されていなければ false が返ります。 188 */ 189 bool IsRestrictP2pCec(void); 190 191 /*! 192 @brief EULA に同意しているかどうかを取得します。 193 194 この関数を呼び出す前に nn::fs::Initialize 関数を呼んで fs ライブラリを初期化しておく必要があります。<BR> 195 この関数内でアプリの EULA バージョンを取得します。<BR> 196 アイコンファイルを設定していないと false が返ります。 197 198 @return 同意していれば true 、同意していなければ false が返ります。 199 */ 200 bool IsAgreedEula(void); 201 202 /*! 203 @brief 本体固有 ID を取得します。 204 205 アプリケーションが持つユニーク ID を指定することで、本体固有でかつアプリケーション固有の値を取得することができます。<BR> 206 複数のアプリケーションで同じ本体固有 ID を使用する場合は、同じユニーク ID を指定する必要があります。 207 208 @param[in] uniqueId アプリケーションが持つユニーク ID (20bit) を指定します。 209 210 @return 本体固有 ID (64bit) が返ります。 211 */ 212 bit64 GetTransferableId(bit32 uniqueId); 213 214 } // namespace CTR { 215 } // namespace cfg { 216 } // namespace nn { 217 218 #endif 219 220 #endif // #ifndef NN_CFG_CTR_CFG_API_H_ 221