/*---------------------------------------------------------------------------* Project: Horizon File: cfg_Api.h Copyright (C)2009 Nintendo Co., Ltd. All rights reserved. These coded instructions, statements, and computer programs contain proprietary information of Nintendo of America Inc. and/or Nintendo Company Ltd., and are protected by Federal copyright law. They may not be disclosed to third parties or copied or duplicated in any form, in whole or in part, without the prior written consent of Nintendo. $Rev: 31668 $ *---------------------------------------------------------------------------*/ #ifndef NN_CFG_CTR_CFG_API_H_ #define NN_CFG_CTR_CFG_API_H_ /*! @file @brief 本体設定に関するAPIの宣言 :include nn/cfg.h */ #include #include #include #include #include #include #ifdef __cplusplus namespace nn { namespace cfg { namespace CTR { /*! @brief 設定ライブラリを初期化します。 @return なし。 */ void Initialize(void); /*! @brief 設定ライブラリを終了します。 @return なし。 */ void Finalize(void); /*! @brief ユーザ名を取得します。 @param[out] pUserName 取得したユーザ名と NG ワードフラグが格納されます。 @return なし。 */ void GetUserName(UserName* pUserName); /*! @brief 誕生日を取得します。 @param[out] pBirthday 取得した誕生日が格納されます。 @return なし。 */ void GetBirthday(Birthday* pBirthday); /*! @brief 国および地域コードを取得します。 @return 取得結果が返ります。 */ CfgCountryCode GetCountry(void); /*! @brief 国および地域コードを ISO 3166-1 alpha-2 に変換します。 本 API はメモリ上の値を返すため高速です。 @param[in] cfgCountryCode 国および地域コードを指定します。 @return 国および地域コードに対応する文字列へのポインタが返ります。 対応する文字列がない場合は NULL が返ります。 */ const char* GetCountryCodeA2(CfgCountryCode cfgCountryCode); /*! @brief 言語コードを取得します。 @return 取得した言語コードが返ります。 */ CfgLanguageCode GetLanguage(void); /*! @brief 言語コードを ISO 639-1 alpha-2 に変換します。 本 API はメモリ上の値を返すため高速です。 @param[in] cfgLanguageCode 言語コードを指定します。 @return 言語コードに対応する文字列へのポインタが返ります。 対応する文字列がない場合は NULL が返ります。 */ const char* GetLanguageCodeA2(CfgLanguageCode cfgLanguageCode); /*! @brief アドレス情報を取得します。 @param[out] pSimpleAddress 取得したアドレス情報が格納されます。 */ void GetSimpleAddress(SimpleAddress* pSimpleAddress); /*! @brief 本体仕向地のリージョンコードを取得します。 @return 取得したリージョンコードが返ります。 */ CfgRegionCode GetRegion(void); /*! @brief 本体仕向地のリージョンコードを対応する 3 文字の文字列に変換します。 本 API はメモリ上の値を返すため高速です。 @param[in] cfgRegionCode リージョンコードを指定します。 @return リージョンコードに対応する文字列へのポインタが返ります。 対応する文字列がない場合は NULL が返ります。 */ const char* GetRegionCodeA3(CfgRegionCode cfgRegionCode); /*! @brief サウンド出力モードを取得します。 @return 本体設定で設定したサウンド出力モードが返ります。 */ CfgSoundOutputMode GetSoundOutputMode(void); /*! @brief RTC改変オフセット情報を取得します。 RTCオフセット値とは、エンドユーザーがRTCの日付・時刻を変更した際にどれだけ未来に進めたか、 もしくは過去へ戻したかを保存しておくオフセット値です。 アプリケーションでは起動の都度このオフセット値を確認することで、エンドユーザーが行なった時間の改変を知ることができます。 @return 本体に保存されているRTCオフセット値を取得します。 */ nn::fnd::TimeSpan GetUserTimeOffset(); /*! @brief ペアレンタルコントロールの暗証番号の文字列長です。 */ const u8 CFG_PARENTAL_CONTROL_PIN_CODE_LENGTH = 4; /*! @brief ペアレンタルコントロールの暗証番号を取得します。 @return なし。 */ void GetParentalControlPinCode(char pinCode[CFG_PARENTAL_CONTROL_PIN_CODE_LENGTH]); /*! @brief ペアレンタルコントロールで写真の交換が制限されているかどうかを取得します。 @return 制限されていれば true 、制限されていなければ false が返ります。 */ bool IsRestrictPhotoExchange(void); /*! @brief ペアレンタルコントロールでフレンドの追加が制限されているかどうかを取得します。 @return 制限されていれば true 、制限されていなければ false が返ります。 */ bool IsRestrictAddFriend(void); /*! @brief ペアレンタルコントロールで他のユーザーとのインターネット通信が制限されているかどうかを取得します。 @return 制限されていれば true 、制限されていなければ false が返ります。 */ bool IsRestrictP2pInternet(void); /*! @brief ペアレンタルコントロールで他のユーザーとのすれ違い通信が制限されているかどうかを取得します。 @return 制限されていれば true 、制限されていなければ false が返ります。 */ bool IsRestrictP2pCec(void); /*! @brief EULA に同意しているかどうかを取得します。 この関数を呼び出す前に nn::fs::Initialize 関数を呼んで fs ライブラリを初期化しておく必要があります。
この関数内でアプリの EULA バージョンを取得します。
アイコンファイルを設定していないと false が返ります。 @return 同意していれば true 、同意していなければ false が返ります。 */ bool IsAgreedEula(void); /*! @brief 本体固有 ID を取得します。 アプリケーションが持つユニーク ID を指定することで、本体固有でかつアプリケーション固有の値を取得することができます。
複数のアプリケーションで同じ本体固有 ID を使用する場合は、同じユニーク ID を指定する必要があります。 @param[in] uniqueId アプリケーションが持つユニーク ID (20bit) を指定します。 @return 本体固有 ID (64bit) が返ります。 */ bit64 GetTransferableId(bit32 uniqueId); } // namespace CTR { } // namespace cfg { } // namespace nn { #endif #endif // #ifndef NN_CFG_CTR_CFG_API_H_