[][src]Struct sunrise_libuser::example::IExample4Proxy

pub struct IExample4Proxy(ClientSession);

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]

impl From<IExample4Proxy> for 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]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> SizedIPCBuffer for T[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.