aboutsummaryrefslogtreecommitdiff
path: root/src/srv.rs
blob: 5cafed3d33d2dcb734eeb0e92f1a8ad84492ebe1 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
use libctru::srv::*;

use core::marker::PhantomData;

pub struct Srv {
    pd: PhantomData<i32>
}

impl Srv {
    pub fn new() -> Result<Srv, i32> {
        unsafe {
            let r = srvInit();
            if r < 0 {
                Err(r)
            } else {
                Ok(Srv { pd: PhantomData })
            }
        }
    }
}

impl Drop for Srv {
    fn drop(&mut self) {
        unsafe { srvExit() };
    }
}