From 02fbd42e7f006236199698c61ca917092afa1f7d Mon Sep 17 00:00:00 2001 From: bunnei Date: Fri, 11 Apr 2014 18:44:21 -0400 Subject: - renamed hle_syscall to just syscall - added service.h as an initial service interface --- src/core/hle/service/service.h | 60 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 src/core/hle/service/service.h (limited to 'src/core/hle/service/service.h') diff --git a/src/core/hle/service/service.h b/src/core/hle/service/service.h new file mode 100644 index 00000000..f1509998 --- /dev/null +++ b/src/core/hle/service/service.h @@ -0,0 +1,60 @@ +// Copyright 2014 Citra Emulator Project +// Licensed under GPLv2 +// Refer to the license.txt file included. + +#pragma once + +#include + +#include "common/common_types.h" +#include "core/hle/syscall.h" + +//////////////////////////////////////////////////////////////////////////////////////////////////// +// Namespace Service + +namespace Service { + +typedef s32 NativeUID; + +/// Interface to a CTROS service +class Interface { +public: + + virtual ~Interface() { + } + + /** + * Gets the UID for the serice + * @return UID of service in native format + */ + NativeUID GetUID() const { + return (NativeUID)m_uid; + } + + /** + * Gets the string name used by CTROS for a service + * @return String name of service + */ + virtual std::string GetName() { + return "[UNKNOWN SERVICE NAME]"; + } + + /** + * Gets the string name used by CTROS for a service + * @return Port name of service + */ + virtual std::string GetPort() { + return "[UNKNOWN SERVICE PORT]"; + } + + /** + * Called when svcSendSyncRequest is called, loads command buffer and executes comand + * @return Return result of svcSendSyncRequest passed back to user app + */ + virtual Syscall::Result Sync() = 0; + +private: + u32 m_uid; +}; + +} // namespace -- cgit v1.2.3