Files
Mozilla/mozilla/java/webclient/src_moz/PreferencesActionEvents.h
edburns%acm.org 0e64ca3709 bug 64445
author edburns
r=ashuk
a=edburns

This checkin corrects an earlier omission of the proper policy of having
all maor actions take place using nsActionEvents.  This is necessary to
avoid thread safety assertions.

The following files are in this fix:

M classes_spec/org/mozilla/webclient/wrapper_native/PreferencesImpl.java
M src_moz/Makefile.in
M src_moz/Makefile.win
A src_moz/PreferencesActionEvents.cpp
A src_moz/PreferencesActionEvents.h
M src_moz/PreferencesImpl.cpp
M src_moz/motif/NativeLoaderStub.cpp


git-svn-id: svn://10.0.0.236/branches/JAVADEV_RTM_20001102@84623 18797224-902f-48f8-a5cc-f745e15eee43
2001-01-09 00:59:58 +00:00

114 lines
2.8 KiB
C++

/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
* The contents of this file are subject to the Mozilla Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is RaptorCanvas.
*
* The Initial Developer of the Original Code is Kirk Baker and
* Ian Wilkinson. Portions created by Kirk Baker and Ian Wilkinson are
* Copyright (C) 1999 Kirk Baker and Ian Wilkinson. All
* Rights Reserved.
*
* Contributor(s): Kirk Baker <kbaker@eb.com>
* Ian Wilkinson <iw@ennoble.com>
* Ashutosh Kulkarni <ashuk@eng.sun.com>
* Mark Lin <mark.lin@eng.sun.com>
* Mark Goddard
* Ed Burns <edburns@acm.org>
*/
/*
* nsActions.h
*/
#ifndef PreferencesActionEvents_h___
#define PreferencesActionEvents_h___
#include "nsActions.h"
#include "ns_util.h"
typedef struct _peStruct {
WebShellInitContext *cx;
jobject obj;
jobject callback;
} peStruct;
//
// ActionEvent class definitions
//
class wsPrefChangedEvent : public nsActionEvent {
public:
wsPrefChangedEvent (const char *prefName, peStruct *yourPeStruct);
void * handleEvent (void);
protected:
const char *mPrefName;
peStruct *mPeStruct;
};
class wsSetUnicharPrefEvent : public nsActionEvent {
public:
wsSetUnicharPrefEvent (const char *prefName, const jchar *yourPrefValue);
void * handleEvent (void);
protected:
const char *mPrefName;
const jchar *mPrefValue;
};
class wsSetIntPrefEvent : public nsActionEvent {
public:
wsSetIntPrefEvent (const char *prefName, PRInt32 yourPrefValue);
void * handleEvent (void);
protected:
const char *mPrefName;
PRInt32 mPrefValue;
};
class wsSetBoolPrefEvent : public nsActionEvent {
public:
wsSetBoolPrefEvent (const char *prefName, PRBool yourPrefValue);
void * handleEvent (void);
protected:
const char *mPrefName;
PRBool mPrefValue;
};
class wsGetPrefsEvent : public nsActionEvent {
public:
wsGetPrefsEvent (peStruct *yourPeStruct);
void * handleEvent (void);
protected:
peStruct *mPeStruct;
};
class wsRegisterPrefCallbackEvent : public nsActionEvent {
public:
wsRegisterPrefCallbackEvent (const char * prefName,
peStruct *yourPeStruct);
void * handleEvent (void);
protected:
const char *mPrefName;
peStruct *mPeStruct;
};
#endif /* PreferencesActionEvents_h___ */
// EOF