Converting everything to C++ cause I'm a masochist.
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
# Copyright 2013 Ben Vanik. All Rights Reserved.
|
||||
{
|
||||
'sources': [
|
||||
'xboxkrnl.cc',
|
||||
'xboxkrnl_module.cc',
|
||||
],
|
||||
}
|
||||
|
||||
@@ -1,42 +0,0 @@
|
||||
/**
|
||||
******************************************************************************
|
||||
* Xenia : Xbox 360 Emulator Research Project *
|
||||
******************************************************************************
|
||||
* Copyright 2013 Ben Vanik. All rights reserved. *
|
||||
* Released under the BSD license - see LICENSE in the root for more details. *
|
||||
******************************************************************************
|
||||
*/
|
||||
|
||||
#include "kernel/modules/xboxkrnl/xboxkrnl.h"
|
||||
|
||||
#include "kernel/modules/xboxkrnl/xboxkrnl_table.h"
|
||||
|
||||
|
||||
struct xe_xboxkrnl {
|
||||
xe_ref_t ref;
|
||||
};
|
||||
|
||||
|
||||
xe_xboxkrnl_ref xe_xboxkrnl_create(
|
||||
xe_pal_ref pal, xe_memory_ref memory,
|
||||
xe_kernel_export_resolver_ref export_resolver) {
|
||||
xe_xboxkrnl_ref module = (xe_xboxkrnl_ref)xe_calloc(sizeof(xe_xboxkrnl));
|
||||
xe_ref_init((xe_ref)module);
|
||||
|
||||
xe_kernel_export_resolver_register_table(export_resolver, "xboxkrnl.exe",
|
||||
xe_xboxkrnl_export_table, XECOUNT(xe_xboxkrnl_export_table));
|
||||
|
||||
return module;
|
||||
}
|
||||
|
||||
void xe_xboxkrnl_dealloc(xe_xboxkrnl_ref module) {
|
||||
}
|
||||
|
||||
xe_xboxkrnl_ref xe_xboxkrnl_retain(xe_xboxkrnl_ref module) {
|
||||
xe_ref_retain((xe_ref)module);
|
||||
return module;
|
||||
}
|
||||
|
||||
void xe_xboxkrnl_release(xe_xboxkrnl_ref module) {
|
||||
xe_ref_release((xe_ref)module, (xe_ref_dealloc_t)xe_xboxkrnl_dealloc);
|
||||
}
|
||||
28
src/kernel/modules/xboxkrnl/xboxkrnl_module.cc
Normal file
28
src/kernel/modules/xboxkrnl/xboxkrnl_module.cc
Normal file
@@ -0,0 +1,28 @@
|
||||
/**
|
||||
******************************************************************************
|
||||
* Xenia : Xbox 360 Emulator Research Project *
|
||||
******************************************************************************
|
||||
* Copyright 2013 Ben Vanik. All rights reserved. *
|
||||
* Released under the BSD license - see LICENSE in the root for more details. *
|
||||
******************************************************************************
|
||||
*/
|
||||
|
||||
#include "kernel/modules/xboxkrnl/xboxkrnl_module.h"
|
||||
|
||||
#include "kernel/modules/xboxkrnl/xboxkrnl_table.h"
|
||||
|
||||
|
||||
using namespace xe;
|
||||
using namespace xe::kernel;
|
||||
using namespace xe::kernel::xboxkrnl;
|
||||
|
||||
|
||||
XboxkrnlModule::XboxkrnlModule(xe_pal_ref pal, xe_memory_ref memory,
|
||||
shared_ptr<ExportResolver> resolver) :
|
||||
KernelModule(pal, memory, resolver) {
|
||||
resolver->RegisterTable(
|
||||
"xboxkrnl.exe", xboxkrnl_export_table, XECOUNT(xboxkrnl_export_table));
|
||||
}
|
||||
|
||||
XboxkrnlModule::~XboxkrnlModule() {
|
||||
}
|
||||
@@ -7,25 +7,32 @@
|
||||
******************************************************************************
|
||||
*/
|
||||
|
||||
#ifndef XENIA_KERNEL_MODULES_XBOXKRNL_H_
|
||||
#define XENIA_KERNEL_MODULES_XBOXKRNL_H_
|
||||
#ifndef XENIA_KERNEL_MODULES_XBOXKRNL_MODULE_H_
|
||||
#define XENIA_KERNEL_MODULES_XBOXKRNL_MODULE_H_
|
||||
|
||||
#include <xenia/common.h>
|
||||
#include <xenia/core.h>
|
||||
|
||||
#include <xenia/kernel/export.h>
|
||||
#include <xenia/kernel/kernel_module.h>
|
||||
|
||||
|
||||
struct xe_xboxkrnl;
|
||||
typedef struct xe_xboxkrnl* xe_xboxkrnl_ref;
|
||||
namespace xe {
|
||||
namespace kernel {
|
||||
namespace xboxkrnl {
|
||||
|
||||
|
||||
xe_xboxkrnl_ref xe_xboxkrnl_create(
|
||||
xe_pal_ref pal, xe_memory_ref memory,
|
||||
xe_kernel_export_resolver_ref export_resolver);
|
||||
|
||||
xe_xboxkrnl_ref xe_xboxkrnl_retain(xe_xboxkrnl_ref module);
|
||||
void xe_xboxkrnl_release(xe_xboxkrnl_ref module);
|
||||
class XboxkrnlModule : public KernelModule {
|
||||
public:
|
||||
XboxkrnlModule(xe_pal_ref pal, xe_memory_ref memory,
|
||||
shared_ptr<ExportResolver> resolver);
|
||||
virtual ~XboxkrnlModule();
|
||||
};
|
||||
|
||||
|
||||
#endif // XENIA_KERNEL_MODULES_XBOXKRNL_H_
|
||||
} // namespace xboxkrnl
|
||||
} // namespace kernel
|
||||
} // namespace xe
|
||||
|
||||
|
||||
#endif // XENIA_KERNEL_MODULES_XBOXKRNL_MODULE_H_
|
||||
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user