aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRonald Kinard <[email protected]>2017-02-25 21:19:53 -0600
committerGitHub <[email protected]>2017-02-25 21:19:53 -0600
commit70bfc59aab8bdc23cdcc2497616ead384555172b (patch)
tree49f05a5c7358bfc68229a8e816e465b00d347aee
parentMerge pull request #22 from FenrirWolf/stdio (diff)
parentUse unit type in subsystem structs (diff)
downloadctru-rs-70bfc59aab8bdc23cdcc2497616ead384555172b.tar.xz
ctru-rs-70bfc59aab8bdc23cdcc2497616ead384555172b.zip
Merge pull request #24 from FenrirWolf/unit_type
Make ctru-rs less spooky
-rw-r--r--ctru-rs/src/gfx.rs8
-rw-r--r--ctru-rs/src/sdmc.rs10
-rw-r--r--ctru-rs/src/services/apt.rs10
-rw-r--r--ctru-rs/src/services/fs.rs9
-rw-r--r--ctru-rs/src/services/hid.rs9
-rw-r--r--ctru-rs/src/srv.rs10
6 files changed, 17 insertions, 39 deletions
diff --git a/ctru-rs/src/gfx.rs b/ctru-rs/src/gfx.rs
index 7f819ea..94c53e7 100644
--- a/ctru-rs/src/gfx.rs
+++ b/ctru-rs/src/gfx.rs
@@ -1,15 +1,11 @@
use libctru::gfx;
use std::default::Default;
-use std::marker::PhantomData;
use std::ops::Drop;
use services::gspgpu::FramebufferFormat;
-pub struct Gfx {
- // we do this to prevent people from making a Gfx struct manually
- pd: PhantomData<i32>,
-}
+pub struct Gfx(());
#[derive(Copy, Clone)]
pub enum Screen {
@@ -135,7 +131,7 @@ impl Gfx {
impl Default for Gfx {
fn default() -> Self {
unsafe { gfx::gfxInitDefault() };
- Gfx { pd: PhantomData }
+ Gfx(())
}
}
diff --git a/ctru-rs/src/sdmc.rs b/ctru-rs/src/sdmc.rs
index 6196394..26669ea 100644
--- a/ctru-rs/src/sdmc.rs
+++ b/ctru-rs/src/sdmc.rs
@@ -1,19 +1,15 @@
-use std::marker::PhantomData;
-
use libctru::sdmc::*;
-pub struct Sdmc {
- pd: PhantomData<i32>,
-}
+pub struct Sdmc(());
impl Sdmc {
pub fn init() -> ::Result<Sdmc> {
unsafe {
let r = sdmcInit();
if r < 0 {
- Err(::Error::from(r))
+ Err(r.into())
} else {
- Ok(Sdmc { pd: PhantomData })
+ Ok(Sdmc(()))
}
}
}
diff --git a/ctru-rs/src/services/apt.rs b/ctru-rs/src/services/apt.rs
index 0c8e281..f50f2c0 100644
--- a/ctru-rs/src/services/apt.rs
+++ b/ctru-rs/src/services/apt.rs
@@ -1,19 +1,15 @@
-use std::marker::PhantomData;
-
use libctru::services::apt;
-pub struct Apt {
- pd: PhantomData<i32>
-}
+pub struct Apt(());
impl Apt {
pub fn init() -> ::Result<Apt> {
unsafe {
let r = apt::aptInit();
if r < 0 {
- Err(::Error::from(r))
+ Err(r.into())
} else {
- Ok(Apt { pd: PhantomData })
+ Ok(Apt(()))
}
}
}
diff --git a/ctru-rs/src/services/fs.rs b/ctru-rs/src/services/fs.rs
index 2a567e2..1c3c449 100644
--- a/ctru-rs/src/services/fs.rs
+++ b/ctru-rs/src/services/fs.rs
@@ -9,7 +9,6 @@ use std::io::Result as IoResult;
use std::io::ErrorKind as IoErrorKind;
use std::ffi::OsString;
-use std::marker::PhantomData;
use std::ptr;
use std::slice;
use std::mem;
@@ -83,9 +82,7 @@ pub enum ArchiveID {
/// until an instance of this struct is created.
///
/// The service exits when all instances of this struct go out of scope.
-pub struct Fs {
- pd: PhantomData<i32>,
-}
+pub struct Fs(());
/// Handle to an open filesystem archive.
///
@@ -304,9 +301,9 @@ impl Fs {
unsafe {
let r = fsInit();
if r < 0 {
- Err(::Error::from(r))
+ Err(r.into())
} else {
- Ok(Fs { pd: PhantomData })
+ Ok(Fs(()))
}
}
}
diff --git a/ctru-rs/src/services/hid.rs b/ctru-rs/src/services/hid.rs
index c703c21..326f0b3 100644
--- a/ctru-rs/src/services/hid.rs
+++ b/ctru-rs/src/services/hid.rs
@@ -1,5 +1,4 @@
use std::convert::Into;
-use std::marker::PhantomData;
use libctru::services::hid;
@@ -73,18 +72,16 @@ impl From<PadKey> for u32 {
}
}
-pub struct Hid {
- pd: PhantomData<i32>
-}
+pub struct Hid(());
impl Hid {
pub fn init() -> ::Result<Hid> {
unsafe {
let r = hid::hidInit();
if r < 0 {
- Err(::Error::from(r))
+ Err(r.into())
} else {
- Ok(Hid { pd: PhantomData })
+ Ok(Hid(()))
}
}
}
diff --git a/ctru-rs/src/srv.rs b/ctru-rs/src/srv.rs
index f0e7026..f7a10c7 100644
--- a/ctru-rs/src/srv.rs
+++ b/ctru-rs/src/srv.rs
@@ -1,19 +1,15 @@
use libctru::srv::*;
-use std::marker::PhantomData;
-
-pub struct Srv {
- pd: PhantomData<i32>,
-}
+pub struct Srv(());
impl Srv {
pub fn init() -> ::Result<Srv> {
unsafe {
let r = srvInit();
if r < 0 {
- Err(::Error::from(r))
+ Err(r.into())
} else {
- Ok(Srv { pd: PhantomData })
+ Ok(Srv(()))
}
}
}