1 /*---------------------------------------------------------------------------* 2 Project: Horizon 3 File: ptm_Api.h 4 5 Copyright (C)2010 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: 26531 $ 14 *---------------------------------------------------------------------------*/ 15 16 #ifndef NN_PTM_CTR_PTM_API_H_ 17 #define NN_PTM_CTR_PTM_API_H_ 18 19 #include <nn/Handle.h> 20 #include <nn/Result.h> 21 #include <nn/types.h> 22 #include <nn/fnd.h> 23 24 namespace nn { 25 namespace ptm { 26 namespace CTR { 27 28 Result Initialize(); 29 Result Finalize(); 30 31 /*! 32 @name アラーム関連 33 @{ 34 */ 35 36 /*! 37 @brief アラームの通知取得用のイベントを登録します。 38 39 @param[in] event アラーム通知用のイベントを指定します。 40 @return 結果を返します。 41 */ 42 Result RegisterAlarmEvent(nn::os::Event &event); 43 44 /*! 45 @brief アラームをセットします 46 47 @param[in] datetime アラームの時刻を指定します 48 @return アラーム設定の結果を返します。 49 50 アラームを通知して欲しい時刻を指定し、指定時刻を過ぎると @ref RegisterAlarmEvent で登録したイベントがシグナルされます。 51 52 指定できる年月日は 2000年1月1日から 2099年12月31日までになります。 53 54 指定時刻を過ぎてから最大で1分程度遅れる場合があります。この仕様は今後変更される可能性があります。 55 56 過去の時刻を指定するとすぐに通知されます。 57 58 アラームが既に設定されているときは @ref nn::ptm::ResultAlarmOverWrite が帰ります。 59 この場合でも、アラームの設定は成功します。 60 */ 61 Result SetRtcAlarm(nn::fnd::DateTime datetime); 62 63 /*! 64 @brief 設定したアラームの時刻を取得します。 65 @param[out] pDatetime 取得した時刻を入れるアドレスを指定します。 66 @return 取得の成否を返します。 67 68 @ref SetRtcAlarm で設定した時刻を取得します。 69 70 既に時刻が通知されている場合、アラームが設定されていない場合には @ref nn::ptm::ResultNoAlarm が返ります。 71 このとき pDatetime には値は入りません。 72 */ 73 Result GetRtcAlarm(nn::fnd::DateTime *pDatetime); 74 75 /*! 76 @brief 設定したアラームをキャンセルします。 77 @return キャンセルの成否を返します。 78 79 既に時刻が通知されている場合、アラームが設定されていない場合には @ref nn::ptm::ResultNoAlarm が返ります。 80 */ 81 Result CancelRtcAlarm(); 82 83 /*! 84 @} 85 */ 86 87 /*! 88 @name 本体状態 89 @{ 90 */ 91 92 /*! 93 @brief 電源アダプタの状態を表します。 94 */ 95 enum AdapterState 96 { 97 ADAPTERSTATE_NOCONNECTED, //!< アダプタは接続されていません。 98 ADAPTERSTATE_CONNECTED //!< アダプタは接続されています。 99 }; 100 101 /*! 102 :private 103 104 @brief ふたの状態を表します。 105 */ 106 enum ShellState 107 { 108 SHELLSTATE_CLOSED, //!< ふたは閉じています。 109 SHELLSTATE_OPENED //!< ふたは開いています。 110 }; 111 112 /*! 113 @brief バッテリの充電状態を表します 114 */ 115 enum BatteryChargeState 116 { 117 BATTERYCHARGESTATE_NOCHARGING, //!< 充電中ではありません。 118 BATTERYCHARGESTATE_CHARGING //!< 充電中です。 119 }; 120 121 /*! 122 @brief バッテリの残量をレベルで表します。 123 */ 124 enum BatteryLevel 125 { 126 BATTERYLEVEL_0, //!< 0% 127 BATTERYLEVEL_1, //!< 1% ~ 5% 128 BATTERYLEVEL_2, //!< 6% ~ 10% 129 BATTERYLEVEL_3, //!< 11% ~ 30% 130 BATTERYLEVEL_4, //!< 31% ~ 60% 131 BATTERYLEVEL_5, //!< 61% ~ 100% 132 133 BATTERYLEVEL_MIN = BATTERYLEVEL_0, //!< バッテリレベルの最小値です。 134 BATTERYLEVEL_MAX = BATTERYLEVEL_5 //!< バッテリレベルの最大値です。 135 }; 136 137 /*! 138 :private 139 140 @brief 本体識別情報を表します。 141 */ 142 enum HardwareType 143 { 144 HARDWARE_TYPE_DEVICE, //!< 実機 145 HARDWARE_TYPE_BOARD, //!< TSボード 146 HARDWARE_TYPE_DEBUGGER //!< デバッガ 147 }; 148 149 /*! 150 @brief 電源アダプタの状態を取得します。 151 152 @return 電源アダプタの状態を返します。 153 */ 154 AdapterState GetAdapterState(); 155 156 /*! 157 :private 158 159 @brief ふたの状態を取得します。 160 161 @return ふたの状態を返します。 162 */ 163 ShellState GetShellState(); 164 165 /*! 166 @brief バッテリの残量をレベルで取得します。 167 168 @return バッテリ残量のレベルを返します。 169 */ 170 BatteryLevel GetBatteryLevel(); 171 172 /*! 173 @brief バッテリの充電状態を取得します。 174 175 @return バッテリの充電状態を返します。 176 */ 177 BatteryChargeState GetBatteryChargeState(); 178 179 /*! 180 @} 181 */ 182 } // end of namespace CTR 183 } // end of namespace ptm 184 } // end of namespace nn 185 186 187 #endif // ifndef NN_PTM_CTR_PTM_API_H_ 188