mirror of
https://github.com/Atmosphere-NX/Atmosphere.git
synced 2025-01-27 11:34:00 +00:00
c2d9ac8f5c
Also greatly refactors libstratosphere, and does a lot of other things. There is a lot of code in this one.
24 lines
673 B
C++
24 lines
673 B
C++
#pragma once
|
|
#include <switch.h>
|
|
|
|
template <typename T>
|
|
class ISession;
|
|
|
|
class DomainOwner;
|
|
|
|
class IServiceObject {
|
|
private:
|
|
DomainOwner *owner = NULL;
|
|
public:
|
|
virtual ~IServiceObject() { }
|
|
|
|
virtual IServiceObject *clone() = 0;
|
|
|
|
bool is_domain() { return this->owner != NULL; }
|
|
DomainOwner *get_owner() { return this->owner; }
|
|
void set_owner(DomainOwner *owner) { this->owner = owner; }
|
|
virtual Result dispatch(IpcParsedCommand &r, IpcCommand &out_c, u64 cmd_id, u8 *pointer_buffer, size_t pointer_buffer_size) = 0;
|
|
virtual Result handle_deferred() = 0;
|
|
};
|
|
|
|
#include "domainowner.hpp"
|