1 /*---------------------------------------------------------------------------*
2   Project:  Horizon
3   File:     boss_TaskPolicy.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: 37901 $
11  *---------------------------------------------------------------------------
12 
13 
14 */
15 
16 #ifndef NN_BOSS_BOSS_TASK_POLICY_H_
17 #define NN_BOSS_BOSS_TASK_POLICY_H_
18 
19 #include <nn/boss/boss_Const.h>
20 #include <nn/boss/boss_Result.h>
21 #include <nn/boss/boss_Types.h>
22 
23 #ifdef __cplusplus
24 
25 namespace nn {
26 namespace boss {
27 
28 /* Please see man pages for details
29 
30 */
31 class TaskPolicy
32 {
33 public:
34 /* Please see man pages for details
35 
36 */
37     explicit TaskPolicy(void);
38 
39 /* Please see man pages for details
40 
41 */
42     virtual ~TaskPolicy(void);
43 
44 /* Please see man pages for details
45 
46 
47 
48 
49 
50 
51 
52 
53 
54 */
Initialize(u32 interval,u32 count)55     inline nn::Result Initialize(u32 interval, u32 count){return InitializeWithSecInterval(interval*60*60, count);}
56 
57     /* Please see man pages for details
58 
59 
60 
61 
62 
63 
64 
65 
66 
67 */
68     nn::Result InitializeWithSecInterval(u32 intervalSec, u32 count);
69 
70 /* Please see man pages for details
71 
72 
73 
74 
75 
76 
77 
78 
79 */
Initialize(TaskPriority priority,u32 interval,u32 count)80     inline nn::Result Initialize(TaskPriority priority, u32 interval, u32 count){return InitializeWithSecInterval(priority, interval*60*60, count);}
81 
82 /* Please see man pages for details
83 
84 
85 
86 
87 
88 
89 
90 
91 
92 
93 */
94     nn::Result InitializeWithSecInterval(TaskPriority priority, u32 intervalSec, u32 count);
95 
96 /* Please see man pages for details
97 
98 
99 
100 
101 
102 
103 
104 */
105     nn::Result SetDuration(u32 duration);
106 
107 /* Please see man pages for details
108 
109 
110 
111 
112 
113 
114 
115 
116 
117 
118 
119 */
120     nn::Result SetPriority(TaskPriority priority);
121 
122 
123 /* Please see man pages for details
124 
125 
126 
127 
128 
129 
130 
131 
132 
133 
134 
135 
136 
137 
138 */
139     nn::Result SetProperty(PropertyType type, const void* pValue, size_t size);
140 
141 /* Please see man pages for details
142 
143 
144 
145 
146 
147 
148 
149 
150 
151 
152 
153 
154 
155 
156 
157 
158 
159 
160 */
161     nn::Result GetProperty(PropertyType type, void* pValue, size_t size);
162 
163 protected:
164     friend class AccessConfig;
165     TaskPolicyConfig    m_Policy;
166   private:
167 };
168 
169 }
170 }
171 
172 #endif
173 
174 #endif /* NN_BOSS_BOSS_TASK_POLICY_H_ */
175