17 #include <pia/common/common_definitions.h> 18 #include <pia/common/common_OffsetList.h> 19 #include <pia/common/common_Time.h> 20 #include <pia/common/common_CriticalSection.h> 32 class BackgroundScheduler;
55 #elif NN_PIA_WIN || NN_PIA_NIN_WIN 56 static const s32 DEFAULT_BACKGROUND_THREAD_PRIORITY = THREAD_PRIORITY_BELOW_NORMAL;
58 static const s32 DEFAULT_BACKGROUND_THREAD_PRIORITY = 24;
60 #error "Invalid platform"; 79 static nn::Result
CreateInstance(s32 backgroundThreadPriority = DEFAULT_BACKGROUND_THREAD_PRIORITY);
120 void EntryJob(Job* pJob,
bool isBackground);
130 void EntryJobNext(Job* pJob);
140 void ResetJob(Job* pJob);
148 const Time& GetDispatchedTime()
const 150 return m_DispatchedTime;
159 CriticalSection* GetCriticalSection()
161 return &m_CriticalSection;
168 u32 GetJobNum()
const;
176 void SetMonitoringData();
185 virtual void Trace(u64 flag)
const;
191 explicit Scheduler(s32 backgroundThreadPriority);
207 typedef OffsetList<Job> JobList;
211 JobList m_CountBasedJobList;
214 Time m_DispatchedTime;
219 mutable CriticalSection m_CriticalSection;
221 BackgroundScheduler* m_pBackgroundScheduler;
static nn::Result CreateInstance(s32 backgroundThreadPriority=DEFAULT_BACKGROUND_THREAD_PRIORITY)
Creates an instance (singleton pattern).
Represents a job scheduler.
Definition: common_Scheduler.h:47
static Scheduler * GetInstance()
Gets a pointer to the Scheduler instance (singleton pattern).
Definition: common_Scheduler.h:96
Class that represents time.
Definition: common_Time.h:39
static const s32 DEFAULT_BACKGROUND_THREAD_PRIORITY
Specifies the default priority value threads used by the background scheduler.
Definition: common_Scheduler.h:54
void Dispatch(u32 timeout=0)
Dispatches jobs.
virtual void Trace(u64 flag) const
Prints information that is useful for debugging.
static void DestroyInstance()
Destroys the instance (singleton pattern).
This is the common base class used inside the Pia library.
Definition: common_RootObject.h:40