[−][src]Struct sunrise_libuser::example::IExample4Proxy
There are two more kinds of types that are important: buffers and handles.
When passing around "raw" arguments and return values, there is only a bit less than 0x100 bytes available. This can be inconvenient when trying to move around large chunks of data, such as trying to read from a file. To remedy this, buffers may be used, which allows the user to pass a pointer to a chunk of data to a remote process, which can either read or write from it (depending on if it's a return buffer or an argument buffer).
Handles are used to pass around "special" types. Examples of handles include process, readable_event, server_port, client_session, and many more.
Implementations
impl IExample4Proxy
[src]
pub fn raw_new() -> Result<IExample4Proxy, Error>
[src]
Creates a new IExample4Proxy by connecting to the hello:4
service.
pub fn new() -> Result<&'static IExample4Proxy, Error>
[src]
Acquires the shared handle to the hello:4
service - connecting if it wasn't already.
impl IExample4Proxy
[src]
pub fn clone_current_object(&self) -> Result<Self, Error>
[src]
Clones the current object, returning a new handle. The returned handle has its own IPC buffer - it may be used concurrently with the original.
pub fn function(&self, very_large_thing: &u8) -> Result<SharedMemory, Error>
[src]
Here's a simple function taking a buffer as an argument and returning a client handle.
A buffer takes the format buffer<data_type, transfer_type, size>
. To
find the correct transfer_type to use, look at the IPC Marshalling page
of switchbrew. Make sure data_type and size matches!
The format for a handle is handle<move/copy, type>
.
Trait Implementations
impl Debug for IExample4Proxy
[src]
impl From<ClientSession> for IExample4Proxy
[src]
fn from(sess: ClientSession) -> IExample4Proxy
[src]
impl From<IExample4Proxy> for ClientSession
[src]
fn from(sess: IExample4Proxy) -> ClientSession
[src]
Auto Trait Implementations
impl RefUnwindSafe for IExample4Proxy
impl Send for IExample4Proxy
impl Sync for IExample4Proxy
impl Unpin for IExample4Proxy
impl UnwindSafe for IExample4Proxy
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> SizedIPCBuffer for T
[src]
fn size(&Self) -> usize
[src]
fn is_cool(usize, usize) -> bool
[src]
unsafe fn from_raw_parts<'a>(usize, usize) -> &'a T
[src]
unsafe fn from_raw_parts_mut<'a>(usize, usize) -> &'a mut T
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,