summaryrefslogtreecommitdiffstats
path: root/src/core/hle/service/service.h
diff options
context:
space:
mode:
authorLiam <byteslice@airmail.cc>2024-01-25 06:50:03 +0100
committerLiam <byteslice@airmail.cc>2024-01-25 20:35:51 +0100
commit01a2d978ebc24aa517048f941f53213db9de722e (patch)
tree989cb25197de378ae71c639e7dcd564d29630438 /src/core/hle/service/service.h
parentMerge pull request #12763 from liamwhite/fix-hbl-again (diff)
downloadyuzu-01a2d978ebc24aa517048f941f53213db9de722e.tar
yuzu-01a2d978ebc24aa517048f941f53213db9de722e.tar.gz
yuzu-01a2d978ebc24aa517048f941f53213db9de722e.tar.bz2
yuzu-01a2d978ebc24aa517048f941f53213db9de722e.tar.lz
yuzu-01a2d978ebc24aa517048f941f53213db9de722e.tar.xz
yuzu-01a2d978ebc24aa517048f941f53213db9de722e.tar.zst
yuzu-01a2d978ebc24aa517048f941f53213db9de722e.zip
Diffstat (limited to 'src/core/hle/service/service.h')
-rw-r--r--src/core/hle/service/service.h16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/core/hle/service/service.h b/src/core/hle/service/service.h
index d539ed0f4..22d1343d5 100644
--- a/src/core/hle/service/service.h
+++ b/src/core/hle/service/service.h
@@ -206,6 +206,22 @@ protected:
RegisterHandlersBaseTipc(functions, n);
}
+protected:
+ template <bool Domain, auto F>
+ void CmifReplyWrap(HLERequestContext& ctx);
+
+ /**
+ * Wraps the template pointer-to-member function for use in a domain session.
+ */
+ template <auto F>
+ static constexpr HandlerFnP<Self> D = &Self::template CmifReplyWrap<true, F>;
+
+ /**
+ * Wraps the template pointer-to-member function for use in a non-domain session.
+ */
+ template <auto F>
+ static constexpr HandlerFnP<Self> C = &Self::template CmifReplyWrap<false, F>;
+
private:
/**
* This function is used to allow invocation of pointers to handlers stored in the base class