/*
 * DO NOT EDIT.  THIS FILE IS GENERATED FROM ../../../dist/idl/nsITelephonyProvider.idl
 */

#ifndef __gen_nsITelephonyProvider_h__
#define __gen_nsITelephonyProvider_h__


#ifndef __gen_nsISupports_h__
#include "nsISupports.h"
#endif

/* For IDL files that don't want to include root IDL files. */
#ifndef NS_NO_VTABLE
#define NS_NO_VTABLE
#endif

/* starting interface:    nsITelephonyListener */
#define NS_ITELEPHONYLISTENER_IID_STR "6385282b-4413-4cd6-b60a-de43e0b5c307"

#define NS_ITELEPHONYLISTENER_IID \
  {0x6385282b, 0x4413, 0x4cd6, \
    { 0xb6, 0x0a, 0xde, 0x43, 0xe0, 0xb5, 0xc3, 0x07 }}

class NS_NO_VTABLE nsITelephonyListener : public nsISupports {
 public: 

  NS_DECLARE_STATIC_IID_ACCESSOR(NS_ITELEPHONYLISTENER_IID)

  /* void callStateChanged (in unsigned long clientId, in unsigned long callIndex, in unsigned short callState, in AString number, in boolean isActive, in boolean isOutgoing, in boolean isEmergency, in boolean isConference); */
  NS_IMETHOD CallStateChanged(uint32_t clientId, uint32_t callIndex, uint16_t callState, const nsAString & number, bool isActive, bool isOutgoing, bool isEmergency, bool isConference) = 0;

  /* void conferenceCallStateChanged (in unsigned short callState); */
  NS_IMETHOD ConferenceCallStateChanged(uint16_t callState) = 0;

  /* void enumerateCallStateComplete (); */
  NS_IMETHOD EnumerateCallStateComplete(void) = 0;

  /* void enumerateCallState (in unsigned long clientId, in unsigned long callIndex, in unsigned short callState, in AString number, in boolean isActive, in boolean isOutgoing, in boolean isEmergency, in boolean isConference); */
  NS_IMETHOD EnumerateCallState(uint32_t clientId, uint32_t callIndex, uint16_t callState, const nsAString & number, bool isActive, bool isOutgoing, bool isEmergency, bool isConference) = 0;

  /* void supplementaryServiceNotification (in unsigned long clientId, in long callIndex, in unsigned short notification); */
  NS_IMETHOD SupplementaryServiceNotification(uint32_t clientId, int32_t callIndex, uint16_t notification) = 0;

  /* void notifyError (in unsigned long clientId, in long callIndex, in AString error); */
  NS_IMETHOD NotifyError(uint32_t clientId, int32_t callIndex, const nsAString & error) = 0;

  /* void notifyCdmaCallWaiting (in unsigned long clientId, in AString number); */
  NS_IMETHOD NotifyCdmaCallWaiting(uint32_t clientId, const nsAString & number) = 0;

  /* void notifyConferenceError (in AString name, in AString message); */
  NS_IMETHOD NotifyConferenceError(const nsAString & name, const nsAString & message) = 0;

};

  NS_DEFINE_STATIC_IID_ACCESSOR(nsITelephonyListener, NS_ITELEPHONYLISTENER_IID)

/* Use this macro when declaring classes that implement this interface. */
#define NS_DECL_NSITELEPHONYLISTENER \
  NS_IMETHOD CallStateChanged(uint32_t clientId, uint32_t callIndex, uint16_t callState, const nsAString & number, bool isActive, bool isOutgoing, bool isEmergency, bool isConference); \
  NS_IMETHOD ConferenceCallStateChanged(uint16_t callState); \
  NS_IMETHOD EnumerateCallStateComplete(void); \
  NS_IMETHOD EnumerateCallState(uint32_t clientId, uint32_t callIndex, uint16_t callState, const nsAString & number, bool isActive, bool isOutgoing, bool isEmergency, bool isConference); \
  NS_IMETHOD SupplementaryServiceNotification(uint32_t clientId, int32_t callIndex, uint16_t notification); \
  NS_IMETHOD NotifyError(uint32_t clientId, int32_t callIndex, const nsAString & error); \
  NS_IMETHOD NotifyCdmaCallWaiting(uint32_t clientId, const nsAString & number); \
  NS_IMETHOD NotifyConferenceError(const nsAString & name, const nsAString & message); 

/* Use this macro to declare functions that forward the behavior of this interface to another object. */
#define NS_FORWARD_NSITELEPHONYLISTENER(_to) \
  NS_IMETHOD CallStateChanged(uint32_t clientId, uint32_t callIndex, uint16_t callState, const nsAString & number, bool isActive, bool isOutgoing, bool isEmergency, bool isConference) { return _to CallStateChanged(clientId, callIndex, callState, number, isActive, isOutgoing, isEmergency, isConference); } \
  NS_IMETHOD ConferenceCallStateChanged(uint16_t callState) { return _to ConferenceCallStateChanged(callState); } \
  NS_IMETHOD EnumerateCallStateComplete(void) { return _to EnumerateCallStateComplete(); } \
  NS_IMETHOD EnumerateCallState(uint32_t clientId, uint32_t callIndex, uint16_t callState, const nsAString & number, bool isActive, bool isOutgoing, bool isEmergency, bool isConference) { return _to EnumerateCallState(clientId, callIndex, callState, number, isActive, isOutgoing, isEmergency, isConference); } \
  NS_IMETHOD SupplementaryServiceNotification(uint32_t clientId, int32_t callIndex, uint16_t notification) { return _to SupplementaryServiceNotification(clientId, callIndex, notification); } \
  NS_IMETHOD NotifyError(uint32_t clientId, int32_t callIndex, const nsAString & error) { return _to NotifyError(clientId, callIndex, error); } \
  NS_IMETHOD NotifyCdmaCallWaiting(uint32_t clientId, const nsAString & number) { return _to NotifyCdmaCallWaiting(clientId, number); } \
  NS_IMETHOD NotifyConferenceError(const nsAString & name, const nsAString & message) { return _to NotifyConferenceError(name, message); } 

/* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
#define NS_FORWARD_SAFE_NSITELEPHONYLISTENER(_to) \
  NS_IMETHOD CallStateChanged(uint32_t clientId, uint32_t callIndex, uint16_t callState, const nsAString & number, bool isActive, bool isOutgoing, bool isEmergency, bool isConference) { return !_to ? NS_ERROR_NULL_POINTER : _to->CallStateChanged(clientId, callIndex, callState, number, isActive, isOutgoing, isEmergency, isConference); } \
  NS_IMETHOD ConferenceCallStateChanged(uint16_t callState) { return !_to ? NS_ERROR_NULL_POINTER : _to->ConferenceCallStateChanged(callState); } \
  NS_IMETHOD EnumerateCallStateComplete(void) { return !_to ? NS_ERROR_NULL_POINTER : _to->EnumerateCallStateComplete(); } \
  NS_IMETHOD EnumerateCallState(uint32_t clientId, uint32_t callIndex, uint16_t callState, const nsAString & number, bool isActive, bool isOutgoing, bool isEmergency, bool isConference) { return !_to ? NS_ERROR_NULL_POINTER : _to->EnumerateCallState(clientId, callIndex, callState, number, isActive, isOutgoing, isEmergency, isConference); } \
  NS_IMETHOD SupplementaryServiceNotification(uint32_t clientId, int32_t callIndex, uint16_t notification) { return !_to ? NS_ERROR_NULL_POINTER : _to->SupplementaryServiceNotification(clientId, callIndex, notification); } \
  NS_IMETHOD NotifyError(uint32_t clientId, int32_t callIndex, const nsAString & error) { return !_to ? NS_ERROR_NULL_POINTER : _to->NotifyError(clientId, callIndex, error); } \
  NS_IMETHOD NotifyCdmaCallWaiting(uint32_t clientId, const nsAString & number) { return !_to ? NS_ERROR_NULL_POINTER : _to->NotifyCdmaCallWaiting(clientId, number); } \
  NS_IMETHOD NotifyConferenceError(const nsAString & name, const nsAString & message) { return !_to ? NS_ERROR_NULL_POINTER : _to->NotifyConferenceError(name, message); } 

#if 0
/* Use the code below as a template for the implementation class for this interface. */

/* Header file */
class nsTelephonyListener : public nsITelephonyListener
{
public:
  NS_DECL_ISUPPORTS
  NS_DECL_NSITELEPHONYLISTENER

  nsTelephonyListener();

private:
  ~nsTelephonyListener();

protected:
  /* additional members */
};

/* Implementation file */
NS_IMPL_ISUPPORTS1(nsTelephonyListener, nsITelephonyListener)

nsTelephonyListener::nsTelephonyListener()
{
  /* member initializers and constructor code */
}

nsTelephonyListener::~nsTelephonyListener()
{
  /* destructor code */
}

/* void callStateChanged (in unsigned long clientId, in unsigned long callIndex, in unsigned short callState, in AString number, in boolean isActive, in boolean isOutgoing, in boolean isEmergency, in boolean isConference); */
NS_IMETHODIMP nsTelephonyListener::CallStateChanged(uint32_t clientId, uint32_t callIndex, uint16_t callState, const nsAString & number, bool isActive, bool isOutgoing, bool isEmergency, bool isConference)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void conferenceCallStateChanged (in unsigned short callState); */
NS_IMETHODIMP nsTelephonyListener::ConferenceCallStateChanged(uint16_t callState)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void enumerateCallStateComplete (); */
NS_IMETHODIMP nsTelephonyListener::EnumerateCallStateComplete()
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void enumerateCallState (in unsigned long clientId, in unsigned long callIndex, in unsigned short callState, in AString number, in boolean isActive, in boolean isOutgoing, in boolean isEmergency, in boolean isConference); */
NS_IMETHODIMP nsTelephonyListener::EnumerateCallState(uint32_t clientId, uint32_t callIndex, uint16_t callState, const nsAString & number, bool isActive, bool isOutgoing, bool isEmergency, bool isConference)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void supplementaryServiceNotification (in unsigned long clientId, in long callIndex, in unsigned short notification); */
NS_IMETHODIMP nsTelephonyListener::SupplementaryServiceNotification(uint32_t clientId, int32_t callIndex, uint16_t notification)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void notifyError (in unsigned long clientId, in long callIndex, in AString error); */
NS_IMETHODIMP nsTelephonyListener::NotifyError(uint32_t clientId, int32_t callIndex, const nsAString & error)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void notifyCdmaCallWaiting (in unsigned long clientId, in AString number); */
NS_IMETHODIMP nsTelephonyListener::NotifyCdmaCallWaiting(uint32_t clientId, const nsAString & number)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void notifyConferenceError (in AString name, in AString message); */
NS_IMETHODIMP nsTelephonyListener::NotifyConferenceError(const nsAString & name, const nsAString & message)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* End of implementation class template. */
#endif

#define TELEPHONY_PROVIDER_CID \
  { 0x9cf8aa52, 0x7c1c, 0x4cde, { 0x97, 0x4e, 0xed, 0x2a, 0xa0, 0xe7, 0x35, 0xfa } }
#define TELEPHONY_PROVIDER_CONTRACTID \
  "@mozilla.org/telephony/telephonyprovider;1"

/* starting interface:    nsITelephonyProvider */
#define NS_ITELEPHONYPROVIDER_IID_STR "4ff3ecb7-b024-4752-9dd6-c3623c6e6b8a"

#define NS_ITELEPHONYPROVIDER_IID \
  {0x4ff3ecb7, 0xb024, 0x4752, \
    { 0x9d, 0xd6, 0xc3, 0x62, 0x3c, 0x6e, 0x6b, 0x8a }}

class NS_NO_VTABLE nsITelephonyProvider : public nsISupports {
 public: 

  NS_DECLARE_STATIC_IID_ACCESSOR(NS_ITELEPHONYPROVIDER_IID)

  enum {
    CALL_STATE_UNKNOWN = 0U,
    CALL_STATE_DIALING = 1U,
    CALL_STATE_ALERTING = 2U,
    CALL_STATE_CONNECTING = 3U,
    CALL_STATE_CONNECTED = 4U,
    CALL_STATE_HOLDING = 5U,
    CALL_STATE_HELD = 6U,
    CALL_STATE_RESUMING = 7U,
    CALL_STATE_DISCONNECTING = 8U,
    CALL_STATE_DISCONNECTED = 9U,
    CALL_STATE_INCOMING = 10U,
    NOTIFICATION_REMOTE_HELD = 0U,
    NOTIFICATION_REMOTE_RESUMED = 1U
  };

  /* readonly attribute unsigned long defaultServiceId; */
  NS_IMETHOD GetDefaultServiceId(uint32_t *aDefaultServiceId) = 0;

  /* void registerListener (in nsITelephonyListener listener); */
  NS_IMETHOD RegisterListener(nsITelephonyListener *listener) = 0;

  /* void unregisterListener (in nsITelephonyListener listener); */
  NS_IMETHOD UnregisterListener(nsITelephonyListener *listener) = 0;

  /* void enumerateCalls (in nsITelephonyListener listener); */
  NS_IMETHOD EnumerateCalls(nsITelephonyListener *listener) = 0;

  /* void dial (in unsigned long clientId, in DOMString number, in boolean isEmergency); */
  NS_IMETHOD Dial(uint32_t clientId, const nsAString & number, bool isEmergency) = 0;

  /* void hangUp (in unsigned long clientId, in unsigned long callIndex); */
  NS_IMETHOD HangUp(uint32_t clientId, uint32_t callIndex) = 0;

  /* void startTone (in unsigned long clientId, in DOMString dtmfChar); */
  NS_IMETHOD StartTone(uint32_t clientId, const nsAString & dtmfChar) = 0;

  /* void stopTone (in unsigned long clientId); */
  NS_IMETHOD StopTone(uint32_t clientId) = 0;

  /* void answerCall (in unsigned long clientId, in unsigned long callIndex); */
  NS_IMETHOD AnswerCall(uint32_t clientId, uint32_t callIndex) = 0;

  /* void rejectCall (in unsigned long clientId, in unsigned long callIndex); */
  NS_IMETHOD RejectCall(uint32_t clientId, uint32_t callIndex) = 0;

  /* void holdCall (in unsigned long clientId, in unsigned long callIndex); */
  NS_IMETHOD HoldCall(uint32_t clientId, uint32_t callIndex) = 0;

  /* void resumeCall (in unsigned long clientId, in unsigned long callIndex); */
  NS_IMETHOD ResumeCall(uint32_t clientId, uint32_t callIndex) = 0;

  /* void conferenceCall (in unsigned long clientId); */
  NS_IMETHOD ConferenceCall(uint32_t clientId) = 0;

  /* void separateCall (in unsigned long clientId, in unsigned long callIndex); */
  NS_IMETHOD SeparateCall(uint32_t clientId, uint32_t callIndex) = 0;

  /* void holdConference (in unsigned long clientId); */
  NS_IMETHOD HoldConference(uint32_t clientId) = 0;

  /* void resumeConference (in unsigned long clientId); */
  NS_IMETHOD ResumeConference(uint32_t clientId) = 0;

  /* attribute bool microphoneMuted; */
  NS_IMETHOD GetMicrophoneMuted(bool *aMicrophoneMuted) = 0;
  NS_IMETHOD SetMicrophoneMuted(bool aMicrophoneMuted) = 0;

  /* attribute bool speakerEnabled; */
  NS_IMETHOD GetSpeakerEnabled(bool *aSpeakerEnabled) = 0;
  NS_IMETHOD SetSpeakerEnabled(bool aSpeakerEnabled) = 0;

};

  NS_DEFINE_STATIC_IID_ACCESSOR(nsITelephonyProvider, NS_ITELEPHONYPROVIDER_IID)

/* Use this macro when declaring classes that implement this interface. */
#define NS_DECL_NSITELEPHONYPROVIDER \
  NS_IMETHOD GetDefaultServiceId(uint32_t *aDefaultServiceId); \
  NS_IMETHOD RegisterListener(nsITelephonyListener *listener); \
  NS_IMETHOD UnregisterListener(nsITelephonyListener *listener); \
  NS_IMETHOD EnumerateCalls(nsITelephonyListener *listener); \
  NS_IMETHOD Dial(uint32_t clientId, const nsAString & number, bool isEmergency); \
  NS_IMETHOD HangUp(uint32_t clientId, uint32_t callIndex); \
  NS_IMETHOD StartTone(uint32_t clientId, const nsAString & dtmfChar); \
  NS_IMETHOD StopTone(uint32_t clientId); \
  NS_IMETHOD AnswerCall(uint32_t clientId, uint32_t callIndex); \
  NS_IMETHOD RejectCall(uint32_t clientId, uint32_t callIndex); \
  NS_IMETHOD HoldCall(uint32_t clientId, uint32_t callIndex); \
  NS_IMETHOD ResumeCall(uint32_t clientId, uint32_t callIndex); \
  NS_IMETHOD ConferenceCall(uint32_t clientId); \
  NS_IMETHOD SeparateCall(uint32_t clientId, uint32_t callIndex); \
  NS_IMETHOD HoldConference(uint32_t clientId); \
  NS_IMETHOD ResumeConference(uint32_t clientId); \
  NS_IMETHOD GetMicrophoneMuted(bool *aMicrophoneMuted); \
  NS_IMETHOD SetMicrophoneMuted(bool aMicrophoneMuted); \
  NS_IMETHOD GetSpeakerEnabled(bool *aSpeakerEnabled); \
  NS_IMETHOD SetSpeakerEnabled(bool aSpeakerEnabled); 

/* Use this macro to declare functions that forward the behavior of this interface to another object. */
#define NS_FORWARD_NSITELEPHONYPROVIDER(_to) \
  NS_IMETHOD GetDefaultServiceId(uint32_t *aDefaultServiceId) { return _to GetDefaultServiceId(aDefaultServiceId); } \
  NS_IMETHOD RegisterListener(nsITelephonyListener *listener) { return _to RegisterListener(listener); } \
  NS_IMETHOD UnregisterListener(nsITelephonyListener *listener) { return _to UnregisterListener(listener); } \
  NS_IMETHOD EnumerateCalls(nsITelephonyListener *listener) { return _to EnumerateCalls(listener); } \
  NS_IMETHOD Dial(uint32_t clientId, const nsAString & number, bool isEmergency) { return _to Dial(clientId, number, isEmergency); } \
  NS_IMETHOD HangUp(uint32_t clientId, uint32_t callIndex) { return _to HangUp(clientId, callIndex); } \
  NS_IMETHOD StartTone(uint32_t clientId, const nsAString & dtmfChar) { return _to StartTone(clientId, dtmfChar); } \
  NS_IMETHOD StopTone(uint32_t clientId) { return _to StopTone(clientId); } \
  NS_IMETHOD AnswerCall(uint32_t clientId, uint32_t callIndex) { return _to AnswerCall(clientId, callIndex); } \
  NS_IMETHOD RejectCall(uint32_t clientId, uint32_t callIndex) { return _to RejectCall(clientId, callIndex); } \
  NS_IMETHOD HoldCall(uint32_t clientId, uint32_t callIndex) { return _to HoldCall(clientId, callIndex); } \
  NS_IMETHOD ResumeCall(uint32_t clientId, uint32_t callIndex) { return _to ResumeCall(clientId, callIndex); } \
  NS_IMETHOD ConferenceCall(uint32_t clientId) { return _to ConferenceCall(clientId); } \
  NS_IMETHOD SeparateCall(uint32_t clientId, uint32_t callIndex) { return _to SeparateCall(clientId, callIndex); } \
  NS_IMETHOD HoldConference(uint32_t clientId) { return _to HoldConference(clientId); } \
  NS_IMETHOD ResumeConference(uint32_t clientId) { return _to ResumeConference(clientId); } \
  NS_IMETHOD GetMicrophoneMuted(bool *aMicrophoneMuted) { return _to GetMicrophoneMuted(aMicrophoneMuted); } \
  NS_IMETHOD SetMicrophoneMuted(bool aMicrophoneMuted) { return _to SetMicrophoneMuted(aMicrophoneMuted); } \
  NS_IMETHOD GetSpeakerEnabled(bool *aSpeakerEnabled) { return _to GetSpeakerEnabled(aSpeakerEnabled); } \
  NS_IMETHOD SetSpeakerEnabled(bool aSpeakerEnabled) { return _to SetSpeakerEnabled(aSpeakerEnabled); } 

/* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
#define NS_FORWARD_SAFE_NSITELEPHONYPROVIDER(_to) \
  NS_IMETHOD GetDefaultServiceId(uint32_t *aDefaultServiceId) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetDefaultServiceId(aDefaultServiceId); } \
  NS_IMETHOD RegisterListener(nsITelephonyListener *listener) { return !_to ? NS_ERROR_NULL_POINTER : _to->RegisterListener(listener); } \
  NS_IMETHOD UnregisterListener(nsITelephonyListener *listener) { return !_to ? NS_ERROR_NULL_POINTER : _to->UnregisterListener(listener); } \
  NS_IMETHOD EnumerateCalls(nsITelephonyListener *listener) { return !_to ? NS_ERROR_NULL_POINTER : _to->EnumerateCalls(listener); } \
  NS_IMETHOD Dial(uint32_t clientId, const nsAString & number, bool isEmergency) { return !_to ? NS_ERROR_NULL_POINTER : _to->Dial(clientId, number, isEmergency); } \
  NS_IMETHOD HangUp(uint32_t clientId, uint32_t callIndex) { return !_to ? NS_ERROR_NULL_POINTER : _to->HangUp(clientId, callIndex); } \
  NS_IMETHOD StartTone(uint32_t clientId, const nsAString & dtmfChar) { return !_to ? NS_ERROR_NULL_POINTER : _to->StartTone(clientId, dtmfChar); } \
  NS_IMETHOD StopTone(uint32_t clientId) { return !_to ? NS_ERROR_NULL_POINTER : _to->StopTone(clientId); } \
  NS_IMETHOD AnswerCall(uint32_t clientId, uint32_t callIndex) { return !_to ? NS_ERROR_NULL_POINTER : _to->AnswerCall(clientId, callIndex); } \
  NS_IMETHOD RejectCall(uint32_t clientId, uint32_t callIndex) { return !_to ? NS_ERROR_NULL_POINTER : _to->RejectCall(clientId, callIndex); } \
  NS_IMETHOD HoldCall(uint32_t clientId, uint32_t callIndex) { return !_to ? NS_ERROR_NULL_POINTER : _to->HoldCall(clientId, callIndex); } \
  NS_IMETHOD ResumeCall(uint32_t clientId, uint32_t callIndex) { return !_to ? NS_ERROR_NULL_POINTER : _to->ResumeCall(clientId, callIndex); } \
  NS_IMETHOD ConferenceCall(uint32_t clientId) { return !_to ? NS_ERROR_NULL_POINTER : _to->ConferenceCall(clientId); } \
  NS_IMETHOD SeparateCall(uint32_t clientId, uint32_t callIndex) { return !_to ? NS_ERROR_NULL_POINTER : _to->SeparateCall(clientId, callIndex); } \
  NS_IMETHOD HoldConference(uint32_t clientId) { return !_to ? NS_ERROR_NULL_POINTER : _to->HoldConference(clientId); } \
  NS_IMETHOD ResumeConference(uint32_t clientId) { return !_to ? NS_ERROR_NULL_POINTER : _to->ResumeConference(clientId); } \
  NS_IMETHOD GetMicrophoneMuted(bool *aMicrophoneMuted) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetMicrophoneMuted(aMicrophoneMuted); } \
  NS_IMETHOD SetMicrophoneMuted(bool aMicrophoneMuted) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetMicrophoneMuted(aMicrophoneMuted); } \
  NS_IMETHOD GetSpeakerEnabled(bool *aSpeakerEnabled) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetSpeakerEnabled(aSpeakerEnabled); } \
  NS_IMETHOD SetSpeakerEnabled(bool aSpeakerEnabled) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetSpeakerEnabled(aSpeakerEnabled); } 

#if 0
/* Use the code below as a template for the implementation class for this interface. */

/* Header file */
class nsTelephonyProvider : public nsITelephonyProvider
{
public:
  NS_DECL_ISUPPORTS
  NS_DECL_NSITELEPHONYPROVIDER

  nsTelephonyProvider();

private:
  ~nsTelephonyProvider();

protected:
  /* additional members */
};

/* Implementation file */
NS_IMPL_ISUPPORTS1(nsTelephonyProvider, nsITelephonyProvider)

nsTelephonyProvider::nsTelephonyProvider()
{
  /* member initializers and constructor code */
}

nsTelephonyProvider::~nsTelephonyProvider()
{
  /* destructor code */
}

/* readonly attribute unsigned long defaultServiceId; */
NS_IMETHODIMP nsTelephonyProvider::GetDefaultServiceId(uint32_t *aDefaultServiceId)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void registerListener (in nsITelephonyListener listener); */
NS_IMETHODIMP nsTelephonyProvider::RegisterListener(nsITelephonyListener *listener)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void unregisterListener (in nsITelephonyListener listener); */
NS_IMETHODIMP nsTelephonyProvider::UnregisterListener(nsITelephonyListener *listener)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void enumerateCalls (in nsITelephonyListener listener); */
NS_IMETHODIMP nsTelephonyProvider::EnumerateCalls(nsITelephonyListener *listener)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void dial (in unsigned long clientId, in DOMString number, in boolean isEmergency); */
NS_IMETHODIMP nsTelephonyProvider::Dial(uint32_t clientId, const nsAString & number, bool isEmergency)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void hangUp (in unsigned long clientId, in unsigned long callIndex); */
NS_IMETHODIMP nsTelephonyProvider::HangUp(uint32_t clientId, uint32_t callIndex)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void startTone (in unsigned long clientId, in DOMString dtmfChar); */
NS_IMETHODIMP nsTelephonyProvider::StartTone(uint32_t clientId, const nsAString & dtmfChar)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void stopTone (in unsigned long clientId); */
NS_IMETHODIMP nsTelephonyProvider::StopTone(uint32_t clientId)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void answerCall (in unsigned long clientId, in unsigned long callIndex); */
NS_IMETHODIMP nsTelephonyProvider::AnswerCall(uint32_t clientId, uint32_t callIndex)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void rejectCall (in unsigned long clientId, in unsigned long callIndex); */
NS_IMETHODIMP nsTelephonyProvider::RejectCall(uint32_t clientId, uint32_t callIndex)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void holdCall (in unsigned long clientId, in unsigned long callIndex); */
NS_IMETHODIMP nsTelephonyProvider::HoldCall(uint32_t clientId, uint32_t callIndex)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void resumeCall (in unsigned long clientId, in unsigned long callIndex); */
NS_IMETHODIMP nsTelephonyProvider::ResumeCall(uint32_t clientId, uint32_t callIndex)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void conferenceCall (in unsigned long clientId); */
NS_IMETHODIMP nsTelephonyProvider::ConferenceCall(uint32_t clientId)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void separateCall (in unsigned long clientId, in unsigned long callIndex); */
NS_IMETHODIMP nsTelephonyProvider::SeparateCall(uint32_t clientId, uint32_t callIndex)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void holdConference (in unsigned long clientId); */
NS_IMETHODIMP nsTelephonyProvider::HoldConference(uint32_t clientId)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void resumeConference (in unsigned long clientId); */
NS_IMETHODIMP nsTelephonyProvider::ResumeConference(uint32_t clientId)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute bool microphoneMuted; */
NS_IMETHODIMP nsTelephonyProvider::GetMicrophoneMuted(bool *aMicrophoneMuted)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsTelephonyProvider::SetMicrophoneMuted(bool aMicrophoneMuted)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute bool speakerEnabled; */
NS_IMETHODIMP nsTelephonyProvider::GetSpeakerEnabled(bool *aSpeakerEnabled)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsTelephonyProvider::SetSpeakerEnabled(bool aSpeakerEnabled)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* End of implementation class template. */
#endif


#endif /* __gen_nsITelephonyProvider_h__ */
