Removing unused XAsyncRequest.
This commit is contained in:
parent
8588fbc6cf
commit
494cba7131
|
@ -1,43 +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 "xenia/kernel/async_request.h"
|
|
||||||
|
|
||||||
#include "xenia/kernel/xobject.h"
|
|
||||||
#include "xenia/kernel/objects/xevent.h"
|
|
||||||
|
|
||||||
namespace xe {
|
|
||||||
namespace kernel {
|
|
||||||
|
|
||||||
XAsyncRequest::XAsyncRequest(KernelState* kernel_state, XObject* object,
|
|
||||||
CompletionCallback callback,
|
|
||||||
void* callback_context)
|
|
||||||
: kernel_state_(kernel_state),
|
|
||||||
object_(object),
|
|
||||||
callback_(callback),
|
|
||||||
callback_context_(callback_context),
|
|
||||||
apc_routine_(0),
|
|
||||||
apc_context_(0) {
|
|
||||||
object_->Retain();
|
|
||||||
}
|
|
||||||
|
|
||||||
XAsyncRequest::~XAsyncRequest() {
|
|
||||||
for (auto it = wait_events_.begin(); it != wait_events_.end(); ++it) {
|
|
||||||
(*it)->Release();
|
|
||||||
}
|
|
||||||
object_->Release();
|
|
||||||
}
|
|
||||||
|
|
||||||
void XAsyncRequest::AddWaitEvent(XEvent* ev) {
|
|
||||||
ev->Retain();
|
|
||||||
wait_events_.push_back(ev);
|
|
||||||
}
|
|
||||||
|
|
||||||
} // namespace kernel
|
|
||||||
} // namespace xe
|
|
|
@ -1,53 +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. *
|
|
||||||
******************************************************************************
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef XENIA_KERNEL_ASYNC_REQUEST_H_
|
|
||||||
#define XENIA_KERNEL_ASYNC_REQUEST_H_
|
|
||||||
|
|
||||||
#include <vector>
|
|
||||||
|
|
||||||
#include "xenia/xbox.h"
|
|
||||||
|
|
||||||
namespace xe {
|
|
||||||
namespace kernel {
|
|
||||||
|
|
||||||
class KernelState;
|
|
||||||
class XEvent;
|
|
||||||
class XObject;
|
|
||||||
|
|
||||||
class XAsyncRequest {
|
|
||||||
public:
|
|
||||||
typedef void (*CompletionCallback)(XAsyncRequest* request, void* context);
|
|
||||||
|
|
||||||
XAsyncRequest(KernelState* kernel_state, XObject* object,
|
|
||||||
CompletionCallback callback, void* callback_context);
|
|
||||||
virtual ~XAsyncRequest();
|
|
||||||
|
|
||||||
KernelState* kernel_state() const { return kernel_state_; }
|
|
||||||
XObject* object() const { return object_; }
|
|
||||||
|
|
||||||
void AddWaitEvent(XEvent* ev);
|
|
||||||
|
|
||||||
// Complete(result)
|
|
||||||
|
|
||||||
protected:
|
|
||||||
KernelState* kernel_state_;
|
|
||||||
XObject* object_;
|
|
||||||
CompletionCallback callback_;
|
|
||||||
void* callback_context_;
|
|
||||||
|
|
||||||
std::vector<XEvent*> wait_events_;
|
|
||||||
uint32_t apc_routine_;
|
|
||||||
uint32_t apc_context_;
|
|
||||||
};
|
|
||||||
|
|
||||||
} // namespace kernel
|
|
||||||
} // namespace xe
|
|
||||||
|
|
||||||
#endif // XENIA_KERNEL_ASYNC_REQUEST_H_
|
|
|
@ -10,7 +10,6 @@
|
||||||
#include "xenia/kernel/objects/xfile.h"
|
#include "xenia/kernel/objects/xfile.h"
|
||||||
|
|
||||||
#include "xenia/base/math.h"
|
#include "xenia/base/math.h"
|
||||||
#include "xenia/kernel/async_request.h"
|
|
||||||
#include "xenia/kernel/objects/xevent.h"
|
#include "xenia/kernel/objects/xevent.h"
|
||||||
|
|
||||||
namespace xe {
|
namespace xe {
|
||||||
|
@ -98,16 +97,6 @@ X_STATUS XFile::Read(void* buffer, size_t buffer_length, size_t byte_offset,
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
X_STATUS XFile::Read(void* buffer, size_t buffer_length, size_t byte_offset,
|
|
||||||
XAsyncRequest* request) {
|
|
||||||
// Also tack on our event so that any waiters wake.
|
|
||||||
request->AddWaitEvent(async_event_);
|
|
||||||
position_ = byte_offset;
|
|
||||||
// return entry_->ReadAsync(buffer, buffer_length, byte_offset, request);
|
|
||||||
X_STATUS result = X_STATUS_NOT_IMPLEMENTED;
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
|
|
||||||
X_STATUS XFile::Write(const void* buffer, size_t buffer_length,
|
X_STATUS XFile::Write(const void* buffer, size_t buffer_length,
|
||||||
size_t byte_offset, size_t* out_bytes_written) {
|
size_t byte_offset, size_t* out_bytes_written) {
|
||||||
if (byte_offset == -1) {
|
if (byte_offset == -1) {
|
||||||
|
|
|
@ -22,8 +22,6 @@
|
||||||
namespace xe {
|
namespace xe {
|
||||||
namespace kernel {
|
namespace kernel {
|
||||||
|
|
||||||
class XAsyncRequest;
|
|
||||||
|
|
||||||
// https://msdn.microsoft.com/en-us/library/windows/hardware/ff545822.aspx
|
// https://msdn.microsoft.com/en-us/library/windows/hardware/ff545822.aspx
|
||||||
struct X_FILE_NETWORK_OPEN_INFORMATION {
|
struct X_FILE_NETWORK_OPEN_INFORMATION {
|
||||||
xe::be<uint64_t> creation_time;
|
xe::be<uint64_t> creation_time;
|
||||||
|
@ -96,8 +94,6 @@ class XFile : public XObject {
|
||||||
|
|
||||||
X_STATUS Read(void* buffer, size_t buffer_length, size_t byte_offset,
|
X_STATUS Read(void* buffer, size_t buffer_length, size_t byte_offset,
|
||||||
size_t* out_bytes_read);
|
size_t* out_bytes_read);
|
||||||
X_STATUS Read(void* buffer, size_t buffer_length, size_t byte_offset,
|
|
||||||
XAsyncRequest* request);
|
|
||||||
|
|
||||||
X_STATUS Write(const void* buffer, size_t buffer_length, size_t byte_offset,
|
X_STATUS Write(const void* buffer, size_t buffer_length, size_t byte_offset,
|
||||||
size_t* out_bytes_written);
|
size_t* out_bytes_written);
|
||||||
|
|
|
@ -10,7 +10,6 @@
|
||||||
#include "xenia/base/logging.h"
|
#include "xenia/base/logging.h"
|
||||||
#include "xenia/base/memory.h"
|
#include "xenia/base/memory.h"
|
||||||
#include "xenia/cpu/processor.h"
|
#include "xenia/cpu/processor.h"
|
||||||
#include "xenia/kernel/async_request.h"
|
|
||||||
#include "xenia/kernel/kernel_state.h"
|
#include "xenia/kernel/kernel_state.h"
|
||||||
#include "xenia/kernel/objects/xevent.h"
|
#include "xenia/kernel/objects/xevent.h"
|
||||||
#include "xenia/kernel/objects/xfile.h"
|
#include "xenia/kernel/objects/xfile.h"
|
||||||
|
@ -155,16 +154,6 @@ dword_result_t NtOpenFile(lpdword_t handle_out, dword_t desired_access,
|
||||||
}
|
}
|
||||||
DECLARE_XBOXKRNL_EXPORT(NtOpenFile, ExportTag::kImplemented);
|
DECLARE_XBOXKRNL_EXPORT(NtOpenFile, ExportTag::kImplemented);
|
||||||
|
|
||||||
class xeNtReadFileState {
|
|
||||||
public:
|
|
||||||
uint32_t x;
|
|
||||||
};
|
|
||||||
void xeNtReadFileCompleted(XAsyncRequest* request, xeNtReadFileState* state) {
|
|
||||||
// TODO(benvanik): set io_status_block_ptr
|
|
||||||
delete request;
|
|
||||||
delete state;
|
|
||||||
}
|
|
||||||
|
|
||||||
dword_result_t NtReadFile(dword_t file_handle, dword_t event_handle,
|
dword_result_t NtReadFile(dword_t file_handle, dword_t event_handle,
|
||||||
lpvoid_t apc_routine_ptr, lpvoid_t apc_context,
|
lpvoid_t apc_routine_ptr, lpvoid_t apc_context,
|
||||||
pointer_t<X_IO_STATUS_BLOCK> io_status_block,
|
pointer_t<X_IO_STATUS_BLOCK> io_status_block,
|
||||||
|
|
Loading…
Reference in New Issue