1 /*---------------------------------------------------------------------------* 2 Project: Horizon 3 File: boss_TaskAction.h 4 5 Copyright (C)2009-2011 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: 38576 $ 14 *---------------------------------------------------------------------------*/ 15 16 #ifndef NN_BOSS_BOSS_TASK_ACTION_H_ 17 #define NN_BOSS_BOSS_TASK_ACTION_H_ 18 19 #include <nn/types.h> 20 #include <nn/http/http_Types.h> 21 #include <nn/ssl/ssl_Const.h> 22 23 #include <nn/boss/boss_Const.h> 24 #include <nn/boss/boss_Result.h> 25 #include <nn/boss/boss_Types.h> 26 27 #ifdef __cplusplus 28 29 namespace nn { 30 namespace boss { 31 32 33 /* Please see man pages for details 34 35 */ 36 class TaskActionBase 37 { 38 protected: 39 /* Please see man pages for details 40 41 */ 42 explicit TaskActionBase(void); 43 44 /* Please see man pages for details 45 46 */ 47 virtual ~TaskActionBase(void); 48 49 public: 50 /* Please see man pages for details 51 52 53 54 55 56 57 58 */ 59 nn::Result SetPrivateRootCa(void); 60 61 /* Please see man pages for details 62 63 64 65 66 67 68 69 70 71 */ 72 nn::Result SetRootCa(const nn::http::InternalCaCertId inCaCertName); 73 74 /* Please see man pages for details 75 76 77 78 79 80 */ 81 nn::Result ClearRootCaSetting( void ); 82 83 /* Please see man pages for details 84 85 86 87 88 89 90 91 */ 92 nn::Result SetPrivateClientCert(void); 93 94 95 96 /* Please see man pages for details 97 98 99 100 101 102 103 104 105 106 */ 107 nn::Result SetClientCert(const nn::http::InternalClientCertId inClientCertName); 108 109 110 /* Please see man pages for details 111 112 113 114 115 116 117 */ 118 nn::Result SetApInfo(ApInfoType info); 119 120 121 /* Please see man pages for details 122 123 124 125 126 127 128 129 130 131 */ 132 nn::Result AddHeaderField(const char* pLabel, const char* pValue); 133 134 /* Please see man pages for details 135 136 137 138 139 140 141 142 */ 143 nn::Result SetLastModifiedTime(const char* pLastModifiedTime); 144 145 protected: 146 /* Please see man pages for details 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 */ 171 nn::Result SetHttpProperty(PropertyType type, const void* pValue, size_t size) ; 172 173 /* Please see man pages for details 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 */ 197 nn::Result GetHttpProperty(PropertyType type, void* pValue, size_t size) ; 198 199 /* Please see man pages for details 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 */ 218 nn::Result SetFileProperty(PropertyType type, const void* pValue, size_t size) ; 219 220 /* Please see man pages for details 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 */ 239 nn::Result GetFileProperty(PropertyType type, void* pValue, size_t size) ; 240 241 242 friend class AccessConfig; 243 TaskActionConfig m_Action; 244 }; 245 246 247 /* Please see man pages for details 248 249 250 */ 251 class TaskAction : public TaskActionBase 252 { 253 public: 254 /* Please see man pages for details 255 256 */ 257 explicit TaskAction(void); 258 259 /* Please see man pages for details 260 261 */ 262 virtual ~TaskAction(void); 263 264 /* Please see man pages for details 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 */ 289 nn::Result virtual GetProperty(PropertyType type, void* pValue, size_t size); 290 291 }; 292 293 294 } // end of namespace boss 295 } // end of namespace nn 296 297 #endif // __cplusplus 298 299 #endif /* NN_BOSS_BOSS_TASK_ACTION_H_ */ 300 301