dom/icc/IccContact.h
author Mike Hommey <mh+mozilla@glandium.org>
Sat, 23 Jan 2016 11:40:24 -0800
changeset 281396 1378b39a9085890ce142e6933ebd50b6537f4ec5
parent 254754 95df4f99f500f1cfab2b5e4eca7dee559871987d
permissions -rw-r--r--
Bug 1242074 - Avoid going back and forth between FasterMake and RecursiveMake; r=gps FasterMake needs some RecursiveMake install manifests to have been processed before doing its work, so we can actually end up processing them twice because of the going back and forth from FasterMake in the hybrid build system. Set the dependency at the RecursiveMake level when doing an hybrid build.

/* This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this file,
 * You can obtain one at http://mozilla.org/MPL/2.0/. */

#ifndef mozilla_dom_icc_IccContact_h
#define mozilla_dom_icc_IccContact_h

#include "nsIIccContact.h"

namespace mozilla {
namespace dom {
class mozContact;
namespace icc {

class IccContact : public nsIIccContact
{
public:
  NS_DECL_ISUPPORTS
  NS_DECL_NSIICCCONTACT

  static nsresult
  Create(mozContact& aMozContact,
         nsIIccContact** aIccContact);

  static nsresult
  Create(const nsAString& aId,
         const nsTArray<nsString>& aNames,
         const nsTArray<nsString>& aNumbers,
         const nsTArray<nsString>& aEmails,
         nsIIccContact** aIccContact);

private:
  IccContact(const nsAString& aId,
             const nsTArray<nsString>& aNames,
             const nsTArray<nsString>& aNumbers,
             const nsTArray<nsString>& aEmails);
  virtual ~IccContact() {}

  nsString mId;
  nsTArray<nsString> mNames;
  nsTArray<nsString> mNumbers;
  nsTArray<nsString> mEmails;
};

} // namespace icc
} // namespace dom
} // namespace mozilla

#endif // mozilla_dom_icc_IccContact_h