Sfoglia il codice sorgente

Merge pull request #131 from lioncash/enum

 nvmap: Make IoctlCommands an enum class
bunnei 8 anni fa
parent
commit
fdbb039427

+ 7 - 6
src/core/hle/service/nvdrv/devices/nvmap.cpp

@@ -22,20 +22,21 @@ VAddr nvmap::GetObjectAddress(u32 handle) const {
 }
 }
 
 
 u32 nvmap::ioctl(u32 command, const std::vector<u8>& input, std::vector<u8>& output) {
 u32 nvmap::ioctl(u32 command, const std::vector<u8>& input, std::vector<u8>& output) {
-    switch (command) {
-    case IocCreateCommand:
+    switch (static_cast<IoctlCommand>(command)) {
+    case IoctlCommand::Create:
         return IocCreate(input, output);
         return IocCreate(input, output);
-    case IocAllocCommand:
+    case IoctlCommand::Alloc:
         return IocAlloc(input, output);
         return IocAlloc(input, output);
-    case IocGetIdCommand:
+    case IoctlCommand::GetId:
         return IocGetId(input, output);
         return IocGetId(input, output);
-    case IocFromIdCommand:
+    case IoctlCommand::FromId:
         return IocFromId(input, output);
         return IocFromId(input, output);
-    case IocParamCommand:
+    case IoctlCommand::Param:
         return IocParam(input, output);
         return IocParam(input, output);
     }
     }
 
 
     UNIMPLEMENTED();
     UNIMPLEMENTED();
+    return 0;
 }
 }
 
 
 u32 nvmap::IocCreate(const std::vector<u8>& input, std::vector<u8>& output) {
 u32 nvmap::IocCreate(const std::vector<u8>& input, std::vector<u8>& output) {

+ 6 - 6
src/core/hle/service/nvdrv/devices/nvmap.h

@@ -48,12 +48,12 @@ private:
     /// Mapping of currently allocated handles to the objects they represent.
     /// Mapping of currently allocated handles to the objects they represent.
     std::unordered_map<u32, std::shared_ptr<Object>> handles;
     std::unordered_map<u32, std::shared_ptr<Object>> handles;
 
 
-    enum IoctlCommands {
-        IocCreateCommand = 0xC0080101,
-        IocFromIdCommand = 0xC0080103,
-        IocAllocCommand = 0xC0200104,
-        IocParamCommand = 0xC00C0109,
-        IocGetIdCommand = 0xC008010E
+    enum class IoctlCommand : u32 {
+        Create = 0xC0080101,
+        FromId = 0xC0080103,
+        Alloc = 0xC0200104,
+        Param = 0xC00C0109,
+        GetId = 0xC008010E
     };
     };
 
 
     struct IocCreateParams {
     struct IocCreateParams {