- renamed NewHandle to CreateHandle
- updated CreateHandle/DeleteHandle to use KernelObject's
This commit is contained in:
		
							parent
							
								
									16d55842c5
								
							
						
					
					
						commit
						112904b832
					
				| @ -27,7 +27,7 @@ union GX_CmdBufferHeader { | ||||
|     // <=15 when writing a command to shared memory. This is incremented by the application when 
 | ||||
|     // writing a command to shared memory, after increasing this value TriggerCmdReqQueue is only 
 | ||||
|     // used if this field is value 1.
 | ||||
|     BitField<8,8,u32>  number_commands; | ||||
|     BitField<8,8,u32>   number_commands; | ||||
| 
 | ||||
| }; | ||||
| 
 | ||||
| @ -101,9 +101,7 @@ void RegisterInterruptRelayQueue(Service::Interface* self) { | ||||
|     u32* cmd_buff = Service::GetCommandBuffer(); | ||||
|     u32 flags = cmd_buff[1]; | ||||
|     u32 event_handle = cmd_buff[3]; // TODO(bunnei): Implement event handling
 | ||||
|      | ||||
|     cmd_buff[2] = g_thread_id;          // ThreadID
 | ||||
|     cmd_buff[4] = self->NewHandle(); | ||||
| } | ||||
| 
 | ||||
| /// This triggers handling of the GX command written to the command buffer in shared memory.
 | ||||
|  | ||||
| @ -63,14 +63,16 @@ public: | ||||
|     } | ||||
| 
 | ||||
|     /// Allocates a new handle for the service
 | ||||
|     Handle NewHandle() { | ||||
|         Handle handle = (m_handles.size() << 16) | 0;//m_handle;
 | ||||
|     Handle CreateHandle(KernelObject *obj) { | ||||
|         Handle handle = g_kernel_objects.Create(obj); | ||||
|         m_handles.push_back(handle); | ||||
|         return handle; | ||||
|     } | ||||
| 
 | ||||
|     /// Frees a handle from the service
 | ||||
|     void DeleteHandle(Handle handle) { | ||||
|     template <class T> | ||||
|     void DeleteHandle(const Handle handle) { | ||||
|         g_kernel_objects.Destroy<T>(handle); | ||||
|         m_handles.erase(std::remove(m_handles.begin(), m_handles.end(), handle), m_handles.end()); | ||||
|     } | ||||
| 
 | ||||
| @ -111,8 +113,8 @@ protected: | ||||
| 
 | ||||
| private: | ||||
| 
 | ||||
|     std::vector<Handle>    m_handles; | ||||
|     std::map<u32, FunctionInfo>     m_functions; | ||||
|     std::vector<Handle>         m_handles; | ||||
|     std::map<u32, FunctionInfo> m_functions; | ||||
| 
 | ||||
| }; | ||||
| 
 | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 bunnei
						bunnei