kernel: pass ref in CodeSet
This commit is contained in:
parent
7449ba85a6
commit
213b259cf1
10 changed files with 56 additions and 30 deletions
|
@ -13,6 +13,7 @@ namespace Kernel {
|
|||
class AddressArbiter;
|
||||
class Event;
|
||||
class Mutex;
|
||||
class CodeSet;
|
||||
|
||||
enum class ResetType {
|
||||
OneShot,
|
||||
|
@ -50,6 +51,8 @@ public:
|
|||
* @return Pointer to new Mutex object
|
||||
*/
|
||||
SharedPtr<Mutex> CreateMutex(bool initial_locked, std::string name = "Unknown");
|
||||
|
||||
SharedPtr<CodeSet> CreateCodeSet(std::string name, u64 program_id);
|
||||
};
|
||||
|
||||
} // namespace Kernel
|
||||
|
|
|
@ -20,8 +20,8 @@ namespace Kernel {
|
|||
// Lists all processes that exist in the current session.
|
||||
static std::vector<SharedPtr<Process>> process_list;
|
||||
|
||||
SharedPtr<CodeSet> CodeSet::Create(std::string name, u64 program_id) {
|
||||
SharedPtr<CodeSet> codeset(new CodeSet);
|
||||
SharedPtr<CodeSet> KernelSystem::CreateCodeSet(std::string name, u64 program_id) {
|
||||
SharedPtr<CodeSet> codeset(new CodeSet(*this));
|
||||
|
||||
codeset->name = std::move(name);
|
||||
codeset->program_id = program_id;
|
||||
|
@ -29,7 +29,7 @@ SharedPtr<CodeSet> CodeSet::Create(std::string name, u64 program_id) {
|
|||
return codeset;
|
||||
}
|
||||
|
||||
CodeSet::CodeSet() {}
|
||||
CodeSet::CodeSet(KernelSystem& system) {}
|
||||
CodeSet::~CodeSet() {}
|
||||
|
||||
u32 Process::next_process_id;
|
||||
|
|
|
@ -62,8 +62,6 @@ struct CodeSet final : public Object {
|
|||
u32 size = 0;
|
||||
};
|
||||
|
||||
static SharedPtr<CodeSet> Create(std::string name, u64 program_id);
|
||||
|
||||
std::string GetTypeName() const override {
|
||||
return "CodeSet";
|
||||
}
|
||||
|
@ -111,8 +109,10 @@ struct CodeSet final : public Object {
|
|||
u64 program_id;
|
||||
|
||||
private:
|
||||
CodeSet();
|
||||
explicit CodeSet(KernelSystem& kernel);
|
||||
~CodeSet() override;
|
||||
|
||||
friend class KernelSystem;
|
||||
};
|
||||
|
||||
class Process final : public Object {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue