// Copyright 2013 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

// The <code>chrome.hangoutsPrivate</code> API is used by Google Hangouts to
// wait on a request from Chrome to start a hangout.
// TODO(rkc): This API is temporary. We are working on plans which include
// replacing this with a scheme based solution which might be implemented
// using registerProtocolHandler, but we are still finishing that design.
// See crbug.com/306672
namespace hangoutsPrivate {

  enum HangoutType {chat, video, audio};

  dictionary User {
    // GAIA obfuscated id of the user.
    DOMString id;
  };

  dictionary HangoutRequest {
    // Email of the user sending this request. This has to match the logged in
    // user otherwise the hangout will not be opened.
    DOMString from;

    // A list of users with whom to start this hangout with.
    User[] to;

    // Type of hangout request.
    HangoutType type;
  };

  interface Events {
    // Fired when Chrome wants to request a new hangout be opened up with a
    // user (or set of users).
    static void onHangoutRequested(HangoutRequest request);
  };
};