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

#ifndef __gen_nsISelectionPrivate_h__
#define __gen_nsISelectionPrivate_h__

#include "nsISupports.h"
#include "domstubs.h"
#include "nsISelectionListener.h"
#include "nsIEnumerator.h"

class nsIDOMNode;
class nsIDOMRange;
class nsISelectionListener;

/* starting interface:    nsISelectionPrivate */
#define NS_ISELECTIONPRIVATE_IID_STR "2d5535e2-1dd2-11b2-8e38-d53ec833adf6"

#define NS_ISELECTIONPRIVATE_IID \
  {0x2d5535e2, 0x1dd2, 0x11b2, \
    { 0x8e, 0x38, 0xd5, 0x3e, 0xc8, 0x33, 0xad, 0xf6 }}

class NS_NO_VTABLE nsISelectionPrivate : public nsISupports {
 public: 

  NS_DEFINE_STATIC_IID_ACCESSOR(NS_ISELECTIONPRIVATE_IID)

  enum { ENDOFPRECEDINGLINE = 0 };

  enum { STARTOFNEXTLINE = 1 };

  /* attribute boolean interlinePosition; */
  NS_IMETHOD GetInterlinePosition(PRBool *aInterlinePosition) = 0;
  NS_IMETHOD SetInterlinePosition(PRBool aInterlinePosition) = 0;

  /* void startBatchChanges (); */
  NS_IMETHOD StartBatchChanges(void) = 0;

  /* void endBatchChanges (); */
  NS_IMETHOD EndBatchChanges(void) = 0;

  /* nsIEnumerator getEnumerator (); */
  NS_IMETHOD GetEnumerator(nsIEnumerator **_retval) = 0;

  /* wstring toStringWithFormat (in string formatType, in unsigned long flags, in PRInt32 wrapCount); */
  NS_IMETHOD ToStringWithFormat(const char *formatType, PRUint32 flags, PRInt32 wrapCount, PRUnichar **_retval) = 0;

  /* void addSelectionListener (in nsISelectionListener newListener); */
  NS_IMETHOD AddSelectionListener(nsISelectionListener *newListener) = 0;

  /* void removeSelectionListener (in nsISelectionListener listenerToRemove); */
  NS_IMETHOD RemoveSelectionListener(nsISelectionListener *listenerToRemove) = 0;

};

/* Use this macro when declaring classes that implement this interface. */
#define NS_DECL_NSISELECTIONPRIVATE \
  NS_IMETHOD GetInterlinePosition(PRBool *aInterlinePosition); \
  NS_IMETHOD SetInterlinePosition(PRBool aInterlinePosition); \
  NS_IMETHOD StartBatchChanges(void); \
  NS_IMETHOD EndBatchChanges(void); \
  NS_IMETHOD GetEnumerator(nsIEnumerator **_retval); \
  NS_IMETHOD ToStringWithFormat(const char *formatType, PRUint32 flags, PRInt32 wrapCount, PRUnichar **_retval); \
  NS_IMETHOD AddSelectionListener(nsISelectionListener *newListener); \
  NS_IMETHOD RemoveSelectionListener(nsISelectionListener *listenerToRemove); 

/* Use this macro to declare functions that forward the behavior of this interface to another object. */
#define NS_FORWARD_NSISELECTIONPRIVATE(_to) \
  NS_IMETHOD GetInterlinePosition(PRBool *aInterlinePosition) { return _to ## GetInterlinePosition(aInterlinePosition); } \
  NS_IMETHOD SetInterlinePosition(PRBool aInterlinePosition) { return _to ## SetInterlinePosition(aInterlinePosition); } \
  NS_IMETHOD StartBatchChanges(void) { return _to ## StartBatchChanges(); } \
  NS_IMETHOD EndBatchChanges(void) { return _to ## EndBatchChanges(); } \
  NS_IMETHOD GetEnumerator(nsIEnumerator **_retval) { return _to ## GetEnumerator(_retval); } \
  NS_IMETHOD ToStringWithFormat(const char *formatType, PRUint32 flags, PRInt32 wrapCount, PRUnichar **_retval) { return _to ## ToStringWithFormat(formatType, flags, wrapCount, _retval); } \
  NS_IMETHOD AddSelectionListener(nsISelectionListener *newListener) { return _to ## AddSelectionListener(newListener); } \
  NS_IMETHOD RemoveSelectionListener(nsISelectionListener *listenerToRemove) { return _to ## RemoveSelectionListener(listenerToRemove); } 

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

/* Header file */
class nsSelectionPrivate : public nsISelectionPrivate
{
public:
  NS_DECL_ISUPPORTS
  NS_DECL_NSISELECTIONPRIVATE

  nsSelectionPrivate();
  virtual ~nsSelectionPrivate();
  /* additional members */
};

/* Implementation file */
NS_IMPL_ISUPPORTS1(nsSelectionPrivate, nsISelectionPrivate)

nsSelectionPrivate::nsSelectionPrivate()
{
  NS_INIT_ISUPPORTS();
  /* member initializers and constructor code */
}

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

/* attribute boolean interlinePosition; */
NS_IMETHODIMP nsSelectionPrivate::GetInterlinePosition(PRBool *aInterlinePosition)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsSelectionPrivate::SetInterlinePosition(PRBool aInterlinePosition)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void startBatchChanges (); */
NS_IMETHODIMP nsSelectionPrivate::StartBatchChanges()
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void endBatchChanges (); */
NS_IMETHODIMP nsSelectionPrivate::EndBatchChanges()
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* nsIEnumerator getEnumerator (); */
NS_IMETHODIMP nsSelectionPrivate::GetEnumerator(nsIEnumerator **_retval)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* wstring toStringWithFormat (in string formatType, in unsigned long flags, in PRInt32 wrapCount); */
NS_IMETHODIMP nsSelectionPrivate::ToStringWithFormat(const char *formatType, PRUint32 flags, PRInt32 wrapCount, PRUnichar **_retval)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void addSelectionListener (in nsISelectionListener newListener); */
NS_IMETHODIMP nsSelectionPrivate::AddSelectionListener(nsISelectionListener *newListener)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void removeSelectionListener (in nsISelectionListener listenerToRemove); */
NS_IMETHODIMP nsSelectionPrivate::RemoveSelectionListener(nsISelectionListener *listenerToRemove)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

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


#endif /* __gen_nsISelectionPrivate_h__ */
