/**
 * BEGIN FLOCK GPL
 *
 * Copyright Flock Inc. 2005-2008
 * http://flock.com
 *
 * This file may be used under the terms of the
 * GNU General Public License Version 2 or later (the "GPL"),
 * http://www.gnu.org/licenses/gpl.html
 *
 * Software distributed under the License is distributed on an "AS IS" basis,
 * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
 * for the specific language governing rights and limitations under the
 * License.
 *
 * END FLOCK GPL
 */

#include "flockIWebService.idl"
#include "nsITransferable.idl"

/**
 * Interface for YouTube Account methods.
 */
 
[scriptable, uuid(c1d86481-e762-4cf6-bc0d-319174cf6ae6)]
interface flockIYoutubeAccount : flockIWebServiceAccount {
  /**
   * Opens YouTube Private Message UI for friend specified by aFriendUrn.
   * Mail area is populated with message information provided in aTransferable
   * @param aFriendUrn (in)     URN of YouTube friend to send message to
   * @param aTransferable (in)  contents of Flock default message for YouTube
   */
  void youtubePrivateMessage (in AString aFriendUrn,
                              in nsITransferable aTransferable);
  
  /**
   * Opens YouTube Share Video UI for friend specified by aFriendUrn.
   * Mail area is populated with message information provided in aTransferable
   * @param aFriendUrn (in)     URN of YouTube friend to send message to
   * @param aTransferable (in)  contents of Flock default message for YouTube
   */
  void youtubeShareVideo (in AString aFriendUrn,
                          in nsITransferable aTransferable);
                              
  /**
   * Opens YouTube Private Message for friend specified by aFriendURN.
   * Mail area is populated with messaging to download and use Flock
   * @param aFriendURN (in)  URN for Youtube friend to send message to
   */
   void shareFlock(in AString aFriendURN);
};
