mailnews/compose/src/nsMsgQuote.h
author Stefan Sitter <ssitter@gmail.com>
Mon, 29 Jun 2015 16:25:25 +0200
changeset 22819 99d02f70de9aff76228a13857aaf4020863c6974
parent 20459 bbefe71a3aeae10d37cc92b2ee066cf9ea81f07c
child 28942 e08911b56e26b2d7dbfd4d0cd4b1380555e70625
permissions -rw-r--r--
Bug 1163306 - enable icaljs by default only on comm-central, use libical on comm-aurora. r=philipp

/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/* 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 __nsMsgQuote_h__
#define __nsMsgQuote_h__

#include "nsIMsgQuote.h" 
#include "nsIMsgMessageService.h"
#include "nsIStreamListener.h"
#include "nsIMimeStreamConverter.h"
#include "nsIChannel.h"
#include "nsCOMPtr.h"
#include "nsWeakReference.h"

class nsMsgQuote;

class nsMsgQuoteListener: public nsIMsgQuoteListener
{
public:
	nsMsgQuoteListener();

	NS_DECL_THREADSAFE_ISUPPORTS

	// nsIMimeStreamConverterListener support
	NS_DECL_NSIMIMESTREAMCONVERTERLISTENER
  NS_DECL_NSIMSGQUOTELISTENER

private:
	virtual ~nsMsgQuoteListener();
  nsWeakPtr mMsgQuote;
};

class nsMsgQuote: public nsIMsgQuote, public nsSupportsWeakReference {
public: 
  nsMsgQuote();

  NS_DECL_THREADSAFE_ISUPPORTS
  NS_DECL_NSIMSGQUOTE

private:
  virtual ~nsMsgQuote();
  // 
  // Implementation data...
  //
  nsCOMPtr<nsIMsgQuotingOutputStreamListener> mStreamListener;
  bool			mQuoteHeaders;
  nsCOMPtr<nsIMsgQuoteListener> mQuoteListener;
  nsCOMPtr<nsIChannel> mQuoteChannel;
};

#endif /* __nsMsgQuote_h__ */