citra/src/core/hle/kernel/svc.h

36 lines
652 B
C++
Raw Normal View History

// Copyright 2014 Citra Emulator Project
2014-12-17 05:38:14 +00:00
// Licensed under GPLv2 or any later version
// Refer to the license.txt file included.
#pragma once
2018-11-12 18:59:29 +00:00
#include <memory>
#include <boost/serialization/export.hpp>
#include "common/common_types.h"
2018-11-05 15:38:35 +00:00
namespace Core {
class System;
} // namespace Core
namespace Kernel {
2018-11-12 18:59:29 +00:00
class SVC;
2018-11-12 18:59:29 +00:00
class SVCContext {
2018-11-05 15:38:35 +00:00
public:
2018-11-12 18:59:29 +00:00
SVCContext(Core::System& system);
~SVCContext();
2018-11-05 15:38:35 +00:00
void CallSVC(u32 immediate);
private:
2018-11-12 18:59:29 +00:00
std::unique_ptr<SVC> impl;
2018-11-05 15:38:35 +00:00
};
class SVC_SyncCallback;
class SVC_IPCCallback;
} // namespace Kernel
BOOST_CLASS_EXPORT_KEY(Kernel::SVC_SyncCallback)
BOOST_CLASS_EXPORT_KEY(Kernel::SVC_IPCCallback)