~ubuntu-branches/ubuntu/trusty/enigmail/trusty-updates

« back to all changes in this revision

Viewing changes to extensions/enigmail/ipc/src/nsPipeConsole.h

  • Committer: Package Import Robot
  • Author(s): Chris Coulson
  • Date: 2011-06-07 14:35:53 UTC
  • mfrom: (0.12.1 upstream)
  • Revision ID: package-import@ubuntu.com-20110607143553-fbgqhhvh8g8h6j1y
Tags: 2:1.2~a2~cvs20110606t2200-0ubuntu1
* Update to latest trunk snapshot for Thunderbird beta compat

* Remove build/pgo/profileserver.py from debian/clean. The new build
  system has a target depending on this
  - update debian/clean
* Drop debian/patches/autoconf.diff, just generate this at build time
* Refresh debian/patches/build_system_dont_link_libxul.diff
* libipc seems to be renamed to libipc-pipe. Fix genxpi and chrome.manifest
  to fix this 
  - add debian/patches/ipc-pipe_rename.diff
  - update debian/patches/series
* The makefiles in extensions/enigmail/ipc have an incorrect DEPTH
  attribute. Fix this so that they can find the rest of the build system
  - add debian/patches/makefile_depth.diff
  - update debian/patches/series
* Drop debian/patches/makefile-in-empty-xpcom-fix.diff - fixed in the
  current version
* Don't register a class ID multiple times, as this breaks enigmail entirely
  - add debian/patches/dont_register_cids_multiple_times.diff
  - update debian/patches/series
* Look for the Thunderbird 5 SDK
  - update debian/rules
  - update debian/control
* Run autoconf2.13 at build time
  - update debian/rules
  - update debian/control
* Add useless mesa-common-dev build-dep, just to satisfy the build system.
  We should just patch this out entirely really, but that's for another upload
  - update debian/control

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/*
2
 
 * The contents of this file are subject to the Mozilla Public
3
 
 * License Version 1.1 (the "MPL"); you may not use this file
4
 
 * except in compliance with the MPL. You may obtain a copy of
5
 
 * the MPL at http://www.mozilla.org/MPL/
6
 
 *
7
 
 * Software distributed under the MPL is distributed on an "AS
8
 
 * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
9
 
 * implied. See the MPL for the specific language governing
10
 
 * rights and limitations under the MPL.
11
 
 *
12
 
 * The Original Code is protoZilla.
13
 
 *
14
 
 * The Initial Developer of the Original Code is Ramalingam Saravanan.
15
 
 * Portions created by Ramalingam Saravanan <svn@xmlterm.org> are
16
 
 * Copyright (C) 2000 Ramalingam Saravanan. All Rights Reserved.
17
 
 *
18
 
 * Contributor(s):
19
 
 * Patrick Brunschwig <patrick@mozilla-enigmail.org>
20
 
 *
21
 
 * Alternatively, the contents of this file may be used under the
22
 
 * terms of the GNU General Public License (the "GPL"), in which case
23
 
 * the provisions of the GPL are applicable instead of
24
 
 * those above. If you wish to allow use of your version of this
25
 
 * file only under the terms of the GPL and not to allow
26
 
 * others to use your version of this file under the MPL, indicate
27
 
 * your decision by deleting the provisions above and replace them
28
 
 * with the notice and other provisions required by the GPL.
29
 
 * If you do not delete the provisions above, a recipient
30
 
 * may use your version of this file under either the MPL or the
31
 
 * GPL.
32
 
 */
33
 
 
34
 
#ifndef nsPipeConsole_h__
35
 
#define nsPipeConsole_h__
36
 
 
37
 
#include "nspr.h"
38
 
#include "IPCProcess.h"
39
 
 
40
 
#include "nsIPipeConsole.h"
41
 
#include "nsIRunnable.h"
42
 
#include "nsIThread.h"
43
 
#include "nsCOMPtr.h"
44
 
 
45
 
#ifndef _IPC_FORCE_INTERNAL_API
46
 
#include "nsStringAPI.h"
47
 
#else
48
 
#include "nsString.h"
49
 
#endif
50
 
 
51
 
#include "nsIObserverService.h"
52
 
#include "nsIObserver.h"
53
 
 
54
 
// Implementation class for nsIPipeConsole
55
 
class nsPipeConsole : public nsIPipeConsole,
56
 
                      public nsIRunnable,
57
 
                      public nsIObserver
58
 
{
59
 
public:
60
 
    NS_DECL_ISUPPORTS
61
 
    NS_DECL_NSIREQUESTOBSERVER
62
 
    NS_DECL_NSISTREAMLISTENER
63
 
    NS_DECL_NSIPIPELISTENER
64
 
    NS_DECL_NSIPIPECONSOLE
65
 
    NS_DECL_NSIRUNNABLE
66
 
    NS_DECL_NSIOBSERVER
67
 
 
68
 
    nsPipeConsole();
69
 
    virtual ~nsPipeConsole();
70
 
 
71
 
    // Define a Create method to be used with a factory:
72
 
    static NS_METHOD
73
 
    Create(nsISupports *aOuter, REFNSIID aIID, void **aResult);
74
 
 
75
 
    nsresult Finalize(PRBool destructor);
76
 
 
77
 
    nsresult Init();
78
 
 
79
 
protected:
80
 
    PRBool                              mFinalized;
81
 
    PRBool                              mJoinable;
82
 
    PRBool                              mThreadJoined;
83
 
    PRBool                              mOverflowed;
84
 
 
85
 
    PRLock*                             mLock;
86
 
 
87
 
    nsCString                           mConsoleBuf;
88
 
    PRInt32                             mConsoleMaxLines;
89
 
    PRInt32                             mConsoleMaxCols;
90
 
 
91
 
    PRUint32                            mByteCount;
92
 
    PRUint32                            mConsoleLines;
93
 
    PRUint32                            mConsoleLineLen;
94
 
    PRUint32                            mConsoleNewChars;
95
 
 
96
 
    IPCFileDesc*                        mPipeWrite;
97
 
    IPCFileDesc*                        mPipeRead;
98
 
 
99
 
    // Owning refs
100
 
    nsCOMPtr<nsIThread>                 mPipeThread;
101
 
    nsCOMPtr<nsIRequestObserver>        mObserver;
102
 
    nsCOMPtr<nsISupports>               mObserverContext;
103
 
};
104
 
 
105
 
#endif // nsPipeConsole_h__