/* * Bonobo::Clipboard: interface for a general clipboard supporting * both embedding (storing the pasted data inside the container) and * linking (storing only a reference to the pasted data inside the * container, with the possibility to refresh it later) * * Bonobo::ClipboardStore: interface for implementing clipboard * persistency externally. Use this if you don't want to implement * funky clipboard data persistency in your application. * * Author: * ÉRDI Gergõ * * Copyright (C) 2001 Gergõ Érdi */ #ifndef BONOBO_CLIPBOARD_IDL #define BONOBO_CLIPBOARD_IDL #include "Bonobo_Unknown.idl" #include "Bonobo_Persist.idl" #include "Bonobo_Moniker.idl" module Bonobo { interface Clipboard : Unknown { /** * setClipboard: * @pasting_moniker: * @linking_moniker: * * Set the curent clipboard state. The clipboard * server will own a new reference on the monikers. * Three events will also be fired by the aggregated * EventSource: * Bonobo/Clipboard:changed (void) * Bonobo/Clipboard:changed:pasting (pasting_moniker) * Bonobo/Clipboard:changed:linking (linking_moniker) */ void setClipboard (in Moniker pasting_moniker, in Moniker linking_moniker); /** * paste: * * Get the current pasteing moniker. The returned * moniker is already ref'd. */ Moniker paste (); /** * link: * * Get the current linking moniker. The returned * moniker is already ref'd. */ Moniker link (); void unImplemented1 (); void unImplemented2 (); void unImplemented3 (); void unImplemented4 (); }; interface ClipboardStore : Unknown { /** * fetchStream: */ void fetchStream (in PersistStream source, in Moniker linking_moniker); /** * fetchStorage: */ void fetchStorage (in PersistStorage source, in Moniker linking_moniker); void unImplemented1 (); void unImplemented2 (); void unImplemented3 (); void unImplemented4 (); }; }; #endif /* !BONOBO_CLIPBOARD_IDL */