Skip to content

Commit 0efe0af

Browse files
committed
ntl::detail::device_* -> ntl::detail::device::*
1 parent 24c3cfc commit 0efe0af

File tree

2 files changed

+33
-35
lines changed

2 files changed

+33
-35
lines changed

include/ntl/device

Lines changed: 28 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -51,47 +51,43 @@ using dispatch_fn = std::function<void(const device_control::code &,
5151
} // namespace ntl
5252

5353
namespace ntl {
54-
5554
namespace detail {
56-
57-
struct device_dispatchers {
55+
namespace device {
56+
struct dispatchers_t {
5857
device_control::dispatch_fn on_device_control;
5958
};
6059

61-
template <typename Extension> struct device_extension_data;
60+
template <typename Extension> struct extension_data_t;
6261

63-
template <> struct device_extension_data<void> {
64-
device_dispatchers dispatchers;
65-
};
62+
template <> struct extension_data_t<void> { dispatchers_t dispatchers; };
6663

67-
template <typename Extension> struct device_extension_data {
68-
device_dispatchers dispatchers;
64+
template <typename Extension> struct extension_data_t {
65+
dispatchers_t dispatchers;
6966
Extension data;
7067
};
7168

72-
template <typename T> class device_extension;
69+
template <typename T> class extension_t;
7370

74-
template <> class device_extension<void> {
71+
template <> class extension_t<void> {
7572
public:
76-
device_extension() : device_(nullptr) {}
77-
device_extension(PDEVICE_OBJECT device) : device_(device) {}
73+
extension_t() : device_(nullptr) {}
74+
extension_t(PDEVICE_OBJECT device) : device_(device) {}
7875

79-
detail::device_extension_data<void> *get_context() {
80-
return reinterpret_cast<detail::device_extension_data<void> *>(
81-
device_->DeviceExtension);
76+
extension_data_t<void> *get_context() {
77+
return reinterpret_cast<extension_data_t<void> *>(device_->DeviceExtension);
8278
}
8379

8480
private:
8581
PDEVICE_OBJECT device_;
8682
};
8783

88-
template <typename Extension> class device_extension {
84+
template <typename Extension> class extension_t {
8985
public:
90-
device_extension() : device_(nullptr) {}
91-
device_extension(PDEVICE_OBJECT device) : device_(device) {}
86+
extension_t() : device_(nullptr) {}
87+
extension_t(PDEVICE_OBJECT device) : device_(device) {}
9288

93-
detail::device_extension_data<Extension> *get_context() {
94-
return reinterpret_cast<detail::device_extension_data<Extension> *>(
89+
extension_data_t<Extension> *get_context() {
90+
return reinterpret_cast<extension_data_t<Extension> *>(
9591
device_->DeviceExtension);
9692
}
9793

@@ -100,6 +96,7 @@ public:
10096
private:
10197
PDEVICE_OBJECT device_;
10298
};
99+
} // namespace device
103100
} // namespace detail
104101

105102
using device_type = DEVICE_TYPE;
@@ -125,22 +122,22 @@ public:
125122

126123
const std::wstring &name() const { return name_; }
127124
device_type type() const { return type_; }
128-
bool exclusive() const { return exclusive_; }
125+
bool is_exclusive() const { return exclusive_; }
129126

130127
private:
131-
bool exclusive_;
132128
std::wstring name_;
133129
device_type type_;
130+
bool exclusive_;
134131
};
135132

136133
template <typename Extension>
137-
class device : public detail::device_extension<Extension> {
134+
class device : public detail::device::extension_t<Extension> {
138135
friend class device_dispatch_invoker;
139136
friend class driver;
140137

141138
protected:
142139
device(PDEVICE_OBJECT device, const device_options &opts)
143-
: detail::device_extension<Extension>(device), object_(device),
140+
: detail::device::extension_t<Extension>(device), object_(device),
144141
name_(opts.name()) {}
145142

146143
private:
@@ -149,7 +146,8 @@ private:
149146
public:
150147
device() : object_(nullptr) {}
151148

152-
device(device &&other) : detail::device_extension<Extension>(other.object_) {
149+
device(device &&other)
150+
: detail::device::extension_t<Extension>(other.object_) {
153151
*this = std::move(other);
154152
}
155153

@@ -163,16 +161,15 @@ public:
163161
auto obj = detach();
164162
if (obj) {
165163
if (obj->DeviceExtension)
166-
reinterpret_cast<detail::device_extension_data<Extension> *>(
167-
obj->DeviceExtension)
168-
->~device_extension_data();
164+
detail::device::extension_t<Extension>::get_context()
165+
->~extension_data_t();
169166
IoDeleteDevice(obj);
170167
}
171168
}
172169

173170
protected:
174-
detail::device_dispatchers &dispatchers() {
175-
return detail::device_extension<Extension>::get_context()->dispatchers;
171+
detail::device::dispatchers_t &dispatchers() {
172+
return detail::device::extension_t<Extension>::get_context()->dispatchers;
176173
}
177174

178175
public:

include/ntl/driver

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ public:
6363
PDEVICE_OBJECT dev = NULL;
6464
status s = [&dev, &opts, this]() {
6565
ULONG extension_size =
66-
(ULONG)sizeof(detail::device_extension_data<Extension>);
66+
(ULONG)sizeof(detail::device::extension_data_t<Extension>);
6767
if (opts.name_.empty()) {
6868
return IoCreateDevice(object_, extension_size, NULL, opts.type_, 0,
6969
opts.exclusive_, &dev);
@@ -76,7 +76,7 @@ public:
7676
if (s.is_err())
7777
throw detail::driver::make_exception(s);
7878

79-
new (dev->DeviceExtension) detail::device_extension_data<Extension>();
79+
new (dev->DeviceExtension) detail::device::extension_data_t<Extension>();
8080

8181
auto ptr =
8282
std::make_shared<device<Extension>>(device<Extension>(dev, opts));
@@ -92,7 +92,7 @@ public:
9292
const std::wstring &name() const { return name_; }
9393

9494
protected:
95-
detail::device_dispatchers *dispatchers(PDEVICE_OBJECT ptr) noexcept {
95+
detail::device::dispatchers_t *dispatchers(PDEVICE_OBJECT ptr) noexcept {
9696
try {
9797
return dispatchers_[ptr];
9898
} catch (...) {
@@ -103,7 +103,8 @@ protected:
103103
private:
104104
PDRIVER_OBJECT object_;
105105
std::wstring name_;
106-
std::unordered_map<PDEVICE_OBJECT, detail::device_dispatchers *> dispatchers_;
106+
std::unordered_map<PDEVICE_OBJECT, detail::device::dispatchers_t *>
107+
dispatchers_;
107108
unload_routine unload_routine_;
108109
};
109110

0 commit comments

Comments
 (0)