1 /*---------------------------------------------------------------------------* 2 Project: Horizon 3 File: boss_TaskAction.h 4 Copyright (C)2009 Nintendo Co., Ltd. All rights reserved. 5 These coded instructions, statements, and computer programs contain 6 proprietary information of Nintendo of America Inc. and/or Nintendo 7 Company Ltd., and are protected by Federal copyright law. They may 8 not be disclosed to third parties or copied or duplicated in any form, 9 in whole or in part, without the prior written consent of Nintendo. 10 $Rev: 34672 $ 11 *--------------------------------------------------------------------------- 12 13 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