/** ****************************************************************************** * 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. * ****************************************************************************** */ #ifndef XENIA_KERNEL_RUNTIME_H_ #define XENIA_KERNEL_RUNTIME_H_ #include #include #include #include #include #include namespace xe { namespace cpu { class Processor; } namespace kernel { namespace xboxkrnl { class XboxkrnlModule; } namespace xam { class XamModule; } } } namespace xe { namespace kernel { class KernelModule; class Runtime { public: Runtime(xe_pal_ref pal, shared_ptr processor, const xechar_t* command_line); ~Runtime(); const xechar_t* command_line(); xe_pal_ref pal(); xe_memory_ref memory(); shared_ptr processor(); shared_ptr export_resolver(); shared_ptr filesystem(); int LaunchModule(const xechar_t* path); private: xechar_t command_line_[2048]; xe_pal_ref pal_; xe_memory_ref memory_; shared_ptr processor_; shared_ptr export_resolver_; shared_ptr filesystem_; auto_ptr xboxkrnl_; auto_ptr xam_; }; } // namespace kernel } // namespace xe #endif // XENIA_KERNEL_RUNTIME_H_