This is not part of regular build -- adding new capabilities to the Tester Plugin
git-svn-id: svn://10.0.0.236/trunk@138765 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
@@ -203,10 +203,9 @@ Frame:
|
||||
{
|
||||
if(m_bShowImmediately)
|
||||
{
|
||||
if(m_pStream == NULL)
|
||||
NPN_NewStream(m_pPluginInstance, m_szStreamType, m_szTarget, &m_pStream);
|
||||
BOOL dosstyle = (m_pPlugin && m_pPlugin->isStandAlone());
|
||||
|
||||
int iLength = formatLogItem(plis, szOutput, "");
|
||||
int iLength = formatLogItem(plis, szOutput, "", dosstyle);
|
||||
|
||||
// we should fix the output string if it contains symbols <html
|
||||
// If this is the case the browser will display the whole output
|
||||
@@ -214,7 +213,17 @@ Frame:
|
||||
// I do not know if this is a bug in the browser or not.
|
||||
FixUpOutputString(szOutput);
|
||||
|
||||
NPN_Write(m_pPluginInstance, m_pStream, iLength, (void *)szOutput);
|
||||
if (m_pPlugin && m_pPlugin->isStandAlone())
|
||||
{
|
||||
m_pPlugin->outputToNativeWindow(szOutput);
|
||||
}
|
||||
else
|
||||
{
|
||||
if(m_pStream == NULL)
|
||||
NPN_NewStream(m_pPluginInstance, m_szStreamType, m_szTarget, &m_pStream);
|
||||
|
||||
NPN_Write(m_pPluginInstance, m_pStream, iLength, (void *)szOutput);
|
||||
}
|
||||
delete plis;
|
||||
}
|
||||
else
|
||||
@@ -269,15 +278,23 @@ void CLogger::clearLog()
|
||||
|
||||
void CLogger::clearTarget()
|
||||
{
|
||||
if(m_pStream != NULL)
|
||||
NPN_DestroyStream(m_pPluginInstance, m_pStream, NPRES_DONE);
|
||||
NPN_NewStream(m_pPluginInstance, m_szStreamType, m_szTarget, &m_pStream);
|
||||
NPN_Write(m_pPluginInstance, m_pStream, 1, "\n");
|
||||
|
||||
if(!m_bShowImmediately)
|
||||
if (m_pPlugin && m_pPlugin->isStandAlone())
|
||||
{
|
||||
NPN_DestroyStream(m_pPluginInstance, m_pStream, NPRES_DONE);
|
||||
m_pStream = NULL;
|
||||
m_pPlugin->outputToNativeWindow("");
|
||||
}
|
||||
else
|
||||
{
|
||||
if(m_pStream != NULL)
|
||||
NPN_DestroyStream(m_pPluginInstance, m_pStream, NPRES_DONE);
|
||||
|
||||
NPN_NewStream(m_pPluginInstance, m_szStreamType, m_szTarget, &m_pStream);
|
||||
NPN_Write(m_pPluginInstance, m_pStream, 1, "\n");
|
||||
|
||||
if(!m_bShowImmediately)
|
||||
{
|
||||
NPN_DestroyStream(m_pPluginInstance, m_pStream, NPRES_DONE);
|
||||
m_pStream = NULL;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -291,24 +308,34 @@ void CLogger::dumpLogToTarget()
|
||||
if(m_pLog == NULL)
|
||||
return;
|
||||
|
||||
BOOL bTemporaryStream = ((m_pStream == NULL) && !getShowImmediatelyFlag());
|
||||
static char szOutput[1024];
|
||||
|
||||
if(m_pStream == NULL)
|
||||
NPN_NewStream(m_pPluginInstance, m_szStreamType, m_szTarget, &m_pStream);
|
||||
|
||||
for(LogItemListElement * plile = m_pLog->m_pFirst; plile != NULL; plile = plile->pNext)
|
||||
if (m_pPlugin && m_pPlugin->isStandAlone())
|
||||
{
|
||||
static char szOutput[1024];
|
||||
|
||||
int iLength = formatLogItem(plile->plis, szOutput, "");
|
||||
|
||||
NPN_Write(m_pPluginInstance, m_pStream, iLength, (void *)szOutput);
|
||||
for(LogItemListElement * plile = m_pLog->m_pFirst; plile != NULL; plile = plile->pNext)
|
||||
{
|
||||
int iLength = formatLogItem(plile->plis, szOutput, "", TRUE);
|
||||
m_pPlugin->outputToNativeWindow(szOutput);
|
||||
}
|
||||
}
|
||||
|
||||
if(bTemporaryStream)
|
||||
else
|
||||
{
|
||||
NPN_DestroyStream(m_pPluginInstance, m_pStream, NPRES_DONE);
|
||||
m_pStream = NULL;
|
||||
BOOL bTemporaryStream = ((m_pStream == NULL) && !getShowImmediatelyFlag());
|
||||
|
||||
if(m_pStream == NULL)
|
||||
NPN_NewStream(m_pPluginInstance, m_szStreamType, m_szTarget, &m_pStream);
|
||||
|
||||
for(LogItemListElement * plile = m_pLog->m_pFirst; plile != NULL; plile = plile->pNext)
|
||||
{
|
||||
int iLength = formatLogItem(plile->plis, szOutput, "");
|
||||
NPN_Write(m_pPluginInstance, m_pStream, iLength, (void *)szOutput);
|
||||
}
|
||||
|
||||
if(bTemporaryStream)
|
||||
{
|
||||
NPN_DestroyStream(m_pPluginInstance, m_pStream, NPRES_DONE);
|
||||
m_pStream = NULL;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -43,6 +43,7 @@
|
||||
#include "logger.h"
|
||||
|
||||
extern CLogger * pLogger;
|
||||
|
||||
static char szINIFile[] = NPAPI_INI_FILE_NAME;
|
||||
static char szTarget[] = LOGGER_DEFAULT_TARGET;
|
||||
|
||||
@@ -77,18 +78,24 @@ NPError NPP_New(NPMIMEType pluginType, NPP instance, uint16 mode, int16 argc, ch
|
||||
pLogger = new CLogger(szTarget);
|
||||
}
|
||||
|
||||
pLogger->associate(pPlugin);
|
||||
|
||||
char szFileName[_MAX_PATH];
|
||||
pPlugin->getModulePath(szFileName, sizeof(szFileName));
|
||||
strcat(szFileName, szINIFile);
|
||||
pLogger->restorePreferences(szFileName);
|
||||
|
||||
pLogger->associate(pPlugin);
|
||||
|
||||
if (pPlugin->isStandAlone())
|
||||
pPlugin->initStandAlone();
|
||||
|
||||
Return:
|
||||
DWORD dwTickReturn = XP_GetTickCount();
|
||||
pLogger->appendToLog(action_npp_new, dwTickEnter, dwTickReturn, (DWORD)ret,
|
||||
(DWORD)pluginType, (DWORD)instance,
|
||||
(DWORD)mode, (DWORD)argc, (DWORD)argn, (DWORD)argv, (DWORD)saved);
|
||||
|
||||
pPlugin->autoStartScriptIfNeeded();
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
@@ -106,6 +113,9 @@ NPError NPP_Destroy (NPP instance, NPSavedData** save)
|
||||
|
||||
pPlugin = (CPluginBase *)instance->pdata;
|
||||
if(pPlugin) {
|
||||
if (pPlugin->isStandAlone())
|
||||
pPlugin->shutStandAlone();
|
||||
|
||||
pPlugin->shut();
|
||||
DestroyPlugin(pPlugin);
|
||||
goto Return;
|
||||
@@ -149,39 +159,42 @@ NPError NPP_SetWindow (NPP instance, NPWindow* pNPWindow)
|
||||
goto Return;
|
||||
}
|
||||
|
||||
// window just created
|
||||
if(!pPlugin->isInitialized() && pNPWindow->window) {
|
||||
if(!pPlugin->init((DWORD)pNPWindow->window)) {
|
||||
delete pPlugin;
|
||||
pPlugin = NULL;
|
||||
ret = NPERR_MODULE_LOAD_FAILED_ERROR;
|
||||
if (!pPlugin->isStandAlone())
|
||||
{
|
||||
// window just created
|
||||
if(!pPlugin->isInitialized() && pNPWindow->window) {
|
||||
if(!pPlugin->init((DWORD)pNPWindow->window)) {
|
||||
delete pPlugin;
|
||||
pPlugin = NULL;
|
||||
ret = NPERR_MODULE_LOAD_FAILED_ERROR;
|
||||
goto Return;
|
||||
}
|
||||
|
||||
if(pLogger->getShowImmediatelyFlag()) {
|
||||
pLogger->dumpLogToTarget();
|
||||
pLogger->clearLog();
|
||||
}
|
||||
goto Return;
|
||||
}
|
||||
|
||||
if(pLogger->getShowImmediatelyFlag()) {
|
||||
pLogger->dumpLogToTarget();
|
||||
pLogger->clearLog();
|
||||
// window goes away
|
||||
if(!pNPWindow->window && pPlugin->isInitialized()) {
|
||||
pPlugin->shut();
|
||||
ret = NPERR_NO_ERROR;
|
||||
goto Return;
|
||||
}
|
||||
goto Return;
|
||||
}
|
||||
|
||||
// window goes away
|
||||
if(!pNPWindow->window && pPlugin->isInitialized()) {
|
||||
pPlugin->shut();
|
||||
ret = NPERR_NO_ERROR;
|
||||
goto Return;
|
||||
}
|
||||
// window resized?
|
||||
if(pPlugin->isInitialized() && pNPWindow->window) {
|
||||
ret = NPERR_NO_ERROR;
|
||||
goto Return;
|
||||
}
|
||||
|
||||
// window resized?
|
||||
if(pPlugin->isInitialized() && pNPWindow->window) {
|
||||
ret = NPERR_NO_ERROR;
|
||||
goto Return;
|
||||
}
|
||||
|
||||
// this should not happen, nothing to do
|
||||
if(!pNPWindow->window && !pPlugin->isInitialized()) {
|
||||
ret = NPERR_NO_ERROR;
|
||||
goto Return;
|
||||
// this should not happen, nothing to do
|
||||
if(!pNPWindow->window && !pPlugin->isInitialized()) {
|
||||
ret = NPERR_NO_ERROR;
|
||||
goto Return;
|
||||
}
|
||||
}
|
||||
|
||||
Return:
|
||||
|
||||
@@ -394,3 +394,7 @@ DWORD CPluginBase::makeNPNCall(NPAPI_Action action, DWORD dw1, DWORD dw2, DWORD
|
||||
|
||||
return dwRet;
|
||||
}
|
||||
|
||||
void CPluginBase::autoStartScriptIfNeeded()
|
||||
{
|
||||
}
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
<BODY>
|
||||
|
||||
<CENTER><B><FONT SIZE=+2>Tester Plugin</FONT></B></CENTER>
|
||||
<CENTER><I>Started by: av 11.25.1997</I></CENTER>
|
||||
<CENTER><I>Last updated: 04.1.2002</I></CENTER>
|
||||
<CENTER><I>Started by: av@netscape.com 11.25.1997</I></CENTER>
|
||||
<CENTER><I>Last updated: 02.28.2003</I></CENTER>
|
||||
|
||||
<P><B><FONT SIZE=+1>Table of contents</FONT></B>
|
||||
<UL>
|
||||
@@ -27,6 +27,7 @@
|
||||
</UL>
|
||||
|
||||
<LI> <A HREF="#Full Page">Full Page Mode</A></LI>
|
||||
<LI> <A HREF="#Special">Some Special Provisions</A></LI>
|
||||
<LI> <A HREF="#Log File">Log File Format</A></LI>
|
||||
<LI> <A HREF="#Script File">Script File Format</A></LI>
|
||||
<LI> <A HREF="#Current Version">Current Version and Known Issues</A></LI>
|
||||
@@ -100,7 +101,7 @@ when it is appropriate by hand ("Flush" button).
|
||||
|
||||
<BR>
|
||||
|
||||
<CENTER><IMG SRC="auto.gif" HEIGHT=371 WIDTH=195> <IMG SRC="manual.gif" HEIGHT=371 WIDTH=195 ALIGN=ABSCENTER></CENTER>
|
||||
<CENTER><IMG SRC="auto.gif" HEIGHT=371 WIDTH=195> <IMG SRC="manual.gif" HEIGHT=371 WIDTH=195></CENTER>
|
||||
|
||||
Fig. 1. Screen shots of Auto and Manual modes
|
||||
|
||||
@@ -127,6 +128,20 @@ file and <TT>'log'</TT> extension. This can overridden in preferences profile.
|
||||
See Appendix B on <A HREF="#Log File Name In Fully Automatic Mode">how
|
||||
to specify log file name in fully automatic mode</A> .
|
||||
|
||||
<P><A NAME="Special"></A><B><FONT SIZE=+1>Some special provisions</FONT></B>
|
||||
|
||||
<P>Those were added to enchance the plugin functionality so that it can operate
|
||||
without fully implemented API in the browser.
|
||||
|
||||
<P>First, you can start running script automatically as soon as NPP_New is called on
|
||||
the plugin.
|
||||
|
||||
<P>Second, the plugin can use native pop up window to display its GUI.
|
||||
|
||||
<P>Both modes do not rely on the browser capability to create windows/frames/widgets
|
||||
and layout. See <A href="#Preferences File">Appendix B</A> on how to turn these
|
||||
modes on in the preferences file.
|
||||
|
||||
<P><A NAME="Log File"></A><B><FONT SIZE=+1>Log File Format</FONT></B>
|
||||
|
||||
<P>Every NPAPI call is logged into a log item which normally consists of
|
||||
@@ -234,7 +249,7 @@ or <TT>width=</TT>..., <TT>height=</TT>...
|
||||
|
||||
<P><A NAME="Current Version"></A><B><FONT SIZE=+1>Current Version and Known Issues</FONT></B>
|
||||
|
||||
<P>Current version is 1.5.
|
||||
<P>Current version is 1.6.
|
||||
|
||||
<P>Issues:
|
||||
<UL>
|
||||
@@ -309,14 +324,26 @@ used in dependencies)
|
||||
<P><TT>Npapi.ini</TT> is located in the same directory the plugin is located.
|
||||
Currently it stores GUI preferences (state of check boxes etc.)
|
||||
in <TT>Preferences </TT>section, and normally this section does not need to be
|
||||
edited directly. Exception is <B><TT>LoadWindowStatus</B></TT>.
|
||||
edited directly. Some exeptions are <B><TT>LoadWindowStatus</B></TT>,
|
||||
<B><TT>AutoStartScript</B></TT> and <B><TT>StandAloneWindow</B></TT>.
|
||||
|
||||
<P><TT>In Preferences</TT> section you can manually add an option to show
|
||||
a small window in the left top corner of the screen which tells you that
|
||||
the plugin dll is loaded in memory. This may be useful after calling
|
||||
<TT>NPN_SetValue</TT> setting <TT>NPPVpluginKeepLibraryInMemory TRUE</TT>.
|
||||
|
||||
<P><TT>StandAloneWindow</TT> will pop up a separate native window which
|
||||
will be used by the plugin instead of the browser window.
|
||||
|
||||
<P><TT>AutoStartScript</TT> will start the executing of the script file immediately
|
||||
after the plugin is loaded and initialized.
|
||||
|
||||
<UL><TT>[Preferences]</TT>
|
||||
<BR><TT>LoadWindowStatus=Yes</TT></UL>
|
||||
<BR><TT>LoadWindowStatus=Yes</TT>
|
||||
<BR><TT>AutoStartScript=Yes</TT>
|
||||
<BR><TT>StandAloneWindow=Yes</TT></UL>
|
||||
|
||||
<P> The default values for all those settings are "no".
|
||||
|
||||
<P><A NAME="Separator"></A><TT>In Log </TT>section the form of <A HREF="#Separator Back">separator</A>
|
||||
can be specified using key <B><TT>RecordSeparator</TT></B>. For example:
|
||||
|
||||
@@ -81,6 +81,10 @@ public:
|
||||
virtual BOOL isInitialized() = 0; // initialized
|
||||
virtual void getModulePath(LPSTR szPath, int iSize) = 0;
|
||||
virtual int messageBox(LPSTR szMessage, LPSTR szTitle, UINT uStyle) = 0;
|
||||
virtual BOOL isStandAlone() = 0; // is our GUI is in a separate native window
|
||||
virtual BOOL initStandAlone() = 0; // create separate native window
|
||||
virtual void shutStandAlone() = 0; // destroy separate native window
|
||||
virtual void outputToNativeWindow(LPSTR szString) = 0; // used to output log in StandAlone mode
|
||||
|
||||
// virtuals just in case
|
||||
virtual BOOL initFull(DWORD dwInitData);
|
||||
@@ -88,6 +92,7 @@ public:
|
||||
virtual BOOL init(DWORD dwInitData);
|
||||
virtual void shut();
|
||||
virtual void getLogFileName(LPSTR szLogFileName, int iSize);
|
||||
virtual void autoStartScriptIfNeeded();
|
||||
|
||||
const NPP getNPInstance();
|
||||
const WORD getMode();
|
||||
|
||||
@@ -80,6 +80,10 @@ static void onCommand(HWND hWnd, int id, HWND hWndCtl, USHORT codeNotify)
|
||||
strcat(szLogFileName, ".log");
|
||||
WinSetWindowText(WinWindowFromID(WinQueryWindow(hWnd, QW_PARENT), IDC_EDIT_LOG_FILE_NAME), szLogFileName);
|
||||
|
||||
// restore
|
||||
if(p)
|
||||
*p = '.';
|
||||
|
||||
pPlugin->updatePrefs(gp_scriptfile, FALSE, szString);
|
||||
|
||||
break;
|
||||
|
||||
@@ -48,6 +48,7 @@
|
||||
#define KEY_LOADSTATUS_WINDOW "LoadStatusWindow"
|
||||
#define KEY_REMEMBER_LAST_API_CALL "RememberLastAPICall"
|
||||
#define KEY_LAST_API_CALL "LastAPICall"
|
||||
#define KEY_STAND_ALONE "StandAloneWindow"
|
||||
|
||||
#define ENTRY_YES "Yes"
|
||||
#define ENTRY_NO "No"
|
||||
|
||||
@@ -104,6 +104,9 @@ void CPlugin::restorePreferences()
|
||||
|
||||
XP_GetPrivateProfileString(szSection, KEY_REMEMBER_LAST_API_CALL, ENTRY_YES, sz, sizeof(sz), szFileName);
|
||||
m_Pref_bRememberLastCall = (strcmpi(sz, ENTRY_YES) == 0) ? TRUE : FALSE;
|
||||
|
||||
XP_GetPrivateProfileString(szSection, KEY_STAND_ALONE, ENTRY_NO, sz, sizeof(sz), szFileName);
|
||||
m_Pref_bStandAlone = (strcmpi(sz, ENTRY_YES) == 0) ? TRUE : FALSE;
|
||||
}
|
||||
|
||||
void CPlugin::savePreferences()
|
||||
@@ -118,6 +121,7 @@ void CPlugin::savePreferences()
|
||||
XP_WritePrivateProfileString(szSection, KEY_TO_FRAME, m_Pref_bToFrame ? szYes : szNo, szFileName);
|
||||
XP_WritePrivateProfileString(szSection, KEY_FLUSH_NOW, m_Pref_bFlushNow ? szYes : szNo, szFileName);
|
||||
XP_WritePrivateProfileString(szSection, KEY_REMEMBER_LAST_API_CALL, m_Pref_bRememberLastCall ? szYes : szNo, szFileName);
|
||||
XP_WritePrivateProfileString(szSection, KEY_STAND_ALONE, m_Pref_bStandAlone ? szYes : szNo, szFileName);
|
||||
}
|
||||
|
||||
void CPlugin::updatePrefs(GUIPrefs prefs, int iValue, char * szValue)
|
||||
@@ -147,6 +151,9 @@ void CPlugin::updatePrefs(GUIPrefs prefs, int iValue, char * szValue)
|
||||
case gp_rememberlast:
|
||||
m_Pref_bRememberLastCall = (BOOL)iValue;
|
||||
break;
|
||||
case gp_standalone:
|
||||
m_Pref_bStandAlone = (BOOL)iValue;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
@@ -238,6 +245,24 @@ int CPlugin::messageBox(LPSTR szMessage, LPSTR szTitle, UINT uStyle)
|
||||
return WinMessageBox(HWND_DESKTOP, m_hWnd, szMessage, szTitle, 0, uStyle);
|
||||
}
|
||||
|
||||
BOOL CPlugin::isStandAlone()
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
BOOL CPlugin::initStandAlone()
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
void CPlugin::shutStandAlone()
|
||||
{
|
||||
}
|
||||
|
||||
void CPlugin::outputToNativeWindow(LPSTR szString)
|
||||
{
|
||||
}
|
||||
|
||||
void CPlugin::onDestroy()
|
||||
{
|
||||
m_hWnd = NULL;
|
||||
@@ -317,5 +342,5 @@ CPluginBase * CreatePlugin(NPP instance, uint16 mode)
|
||||
void DestroyPlugin(CPluginBase * pPlugin)
|
||||
{
|
||||
if(pPlugin != NULL)
|
||||
delete (CPluginBase *)pPlugin;
|
||||
delete (CPlugin *)pPlugin;
|
||||
}
|
||||
|
||||
@@ -87,6 +87,7 @@ public:
|
||||
BOOL m_Pref_bToFrame;
|
||||
BOOL m_Pref_bFlushNow;
|
||||
BOOL m_Pref_bRememberLastCall;
|
||||
BOOL m_Pref_bStandAlone;
|
||||
|
||||
// public interface
|
||||
public:
|
||||
@@ -101,6 +102,10 @@ public:
|
||||
void getModulePath(LPSTR szPath, int iSize);
|
||||
int messageBox(LPSTR szMessage, LPSTR szTitle, UINT uStyle);
|
||||
void getLogFileName(LPSTR szLogFileName, int iSize);
|
||||
BOOL initStandAlone(); // create separate native window
|
||||
void shutStandAlone(); // destroy separate native window
|
||||
BOOL isStandAlone(); // is our GUI is in a separate native window
|
||||
void outputToNativeWindow(LPSTR szString); // used to output log in StandAlone mode
|
||||
|
||||
ULONG makeNPNCall(NPAPI_Action = action_invalid,
|
||||
ULONG dw1 = 0L, ULONG dw2 = 0L,
|
||||
|
||||
@@ -80,6 +80,10 @@ static void onCommand(HWND hWnd, int id, HWND hWndCtl, UINT codeNotify)
|
||||
strcat(szLogFileName, ".log");
|
||||
Edit_SetText(GetDlgItem(GetParent(hWnd), IDC_EDIT_LOG_FILE_NAME), szLogFileName);
|
||||
|
||||
// restore
|
||||
if(p)
|
||||
*p = '.';
|
||||
|
||||
pPlugin->updatePrefs(gp_scriptfile, FALSE, szString);
|
||||
|
||||
break;
|
||||
@@ -198,7 +202,8 @@ static BOOL onInitDialog(HWND hWnd, HWND hWndFocus, LPARAM lParam)
|
||||
int iTopMargin = 188;
|
||||
SetWindowPos(hWnd, NULL, 0,iTopMargin, 0,0, SWP_NOZORDER | SWP_NOSIZE);
|
||||
|
||||
Edit_SetText(GetDlgItem(hWnd, IDC_EDIT_SCRIPT_FILE_NAME), pPlugin->m_Pref_szScriptFile);
|
||||
if (pPlugin)
|
||||
Edit_SetText(GetDlgItem(hWnd, IDC_EDIT_SCRIPT_FILE_NAME), (LPCSTR)pPlugin->m_Pref_szScriptFile);
|
||||
|
||||
Static_SetText(GetDlgItem(hWnd, IDC_STATIC_REPETITIONS_LEFT), "");
|
||||
ShowWindow(GetDlgItem(hWnd, IDC_STATIC_REPETITIONS_LABEL), SW_HIDE);
|
||||
|
||||
@@ -48,6 +48,8 @@
|
||||
#define KEY_LOADSTATUS_WINDOW "LoadStatusWindow"
|
||||
#define KEY_REMEMBER_LAST_API_CALL "RememberLastAPICall"
|
||||
#define KEY_LAST_API_CALL "LastAPICall"
|
||||
#define KEY_STAND_ALONE "StandAloneWindow"
|
||||
#define KEY_AUTOSTART_SCRIPT "AutoStartScript"
|
||||
|
||||
#define ENTRY_YES "Yes"
|
||||
#define ENTRY_NO "No"
|
||||
|
||||
@@ -1,283 +1,287 @@
|
||||
# Microsoft Developer Studio Project File - Name="npapi" - Package Owner=<4>
|
||||
# Microsoft Developer Studio Generated Build File, Format Version 6.00
|
||||
# ** DO NOT EDIT **
|
||||
|
||||
# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
|
||||
|
||||
CFG=npapi - Win32 Debug
|
||||
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
|
||||
!MESSAGE use the Export Makefile command and run
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "npapi.mak".
|
||||
!MESSAGE
|
||||
!MESSAGE You can specify a configuration when running NMAKE
|
||||
!MESSAGE by defining the macro CFG on the command line. For example:
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "npapi.mak" CFG="npapi - Win32 Debug"
|
||||
!MESSAGE
|
||||
!MESSAGE Possible choices for configuration are:
|
||||
!MESSAGE
|
||||
!MESSAGE "npapi - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
|
||||
!MESSAGE "npapi - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
|
||||
!MESSAGE
|
||||
|
||||
# Begin Project
|
||||
# PROP AllowPerConfigDependencies 0
|
||||
# PROP Scc_ProjName ""
|
||||
# PROP Scc_LocalPath ""
|
||||
CPP=cl.exe
|
||||
MTL=midl.exe
|
||||
RSC=rc.exe
|
||||
|
||||
!IF "$(CFG)" == "npapi - Win32 Release"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 0
|
||||
# PROP BASE Output_Dir "Release"
|
||||
# PROP BASE Intermediate_Dir "Release"
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 0
|
||||
# PROP Output_Dir "Release"
|
||||
# PROP Intermediate_Dir "Release"
|
||||
# PROP Ignore_Export_Lib 0
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "NPAPI_EXPORTS" /YX /FD /c
|
||||
# ADD CPP /nologo /MT /W3 /GX /O2 /I "..\include" /I "..\..\..\..\..\dist\include" /I "..\..\..\..\..\dist\include\java" /I "..\..\..\..\..\dist\include\nspr" /D "XP_WIN" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "NPAPI_EXPORTS" /YX /FD /c
|
||||
# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
|
||||
# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
|
||||
# ADD BASE RSC /l 0x409 /d "NDEBUG"
|
||||
# ADD RSC /l 0x409 /d "NDEBUG"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386
|
||||
# ADD LINK32 kernel32.lib user32.lib gdi32.lib /nologo /dll /machine:I386
|
||||
|
||||
!ELSEIF "$(CFG)" == "npapi - Win32 Debug"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 1
|
||||
# PROP BASE Output_Dir "Debug"
|
||||
# PROP BASE Intermediate_Dir "Debug"
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 1
|
||||
# PROP Output_Dir "Debug"
|
||||
# PROP Intermediate_Dir "Debug"
|
||||
# PROP Ignore_Export_Lib 0
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "NPAPI_EXPORTS" /YX /FD /GZ /c
|
||||
# ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /I "..\include" /I "..\..\..\..\..\dist\include\plugin" /I "..\..\..\..\..\dist\include\java" /I "..\..\..\..\..\dist\include\nspr" /D "XP_WIN" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "NPAPI_EXPORTS" /FR /YX /FD /GZ /c
|
||||
# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
|
||||
# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
|
||||
# ADD BASE RSC /l 0x409 /d "_DEBUG"
|
||||
# ADD RSC /l 0x409 /d "_DEBUG"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept
|
||||
# ADD LINK32 kernel32.lib user32.lib gdi32.lib /nologo /dll /debug /machine:I386 /out:"../../../../../dist/win32_d.obj/bin/plugins/npapi.dll" /pdbtype:sept
|
||||
|
||||
!ENDIF
|
||||
|
||||
# Begin Target
|
||||
|
||||
# Name "npapi - Win32 Release"
|
||||
# Name "npapi - Win32 Debug"
|
||||
# Begin Group "Source Files"
|
||||
|
||||
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\dlgauto.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\dlgman.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\dlgtstr.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\guihlp.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\loadstatus.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\common\log.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\common\logfile.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\common\logger.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\common\loghlp.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\common\np_entry.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\npapi.def
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\npapi.rc
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\common\npn_gate.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\common\npp_gate.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\common\plugbase.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\plugin.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\common\pplib.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\common\profile.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\common\script.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\common\scripter.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\common\scrpthlp.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\common\strconv.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\winentry.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\winutils.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\common\xp.cpp
|
||||
# End Source File
|
||||
# End Group
|
||||
# Begin Group "Header Files"
|
||||
|
||||
# PROP Default_Filter "h;hpp;hxx;hm;inl"
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\include\action.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\include\comstrs.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\guihlp.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\guiprefs.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\include\helpers.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\include\loadstatus.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\include\log.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\include\logfile.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\include\logger.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\include\loghlp.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\include\plugbase.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\plugin.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\include\profile.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\resource.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\include\script.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\include\scripter.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\include\scrpthlp.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\include\strconv.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\winutils.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\include\xp.h
|
||||
# End Source File
|
||||
# End Group
|
||||
# Begin Group "Resource Files"
|
||||
|
||||
# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
|
||||
# End Group
|
||||
# End Target
|
||||
# End Project
|
||||
# Microsoft Developer Studio Project File - Name="npapi" - Package Owner=<4>
|
||||
# Microsoft Developer Studio Generated Build File, Format Version 6.00
|
||||
# ** DO NOT EDIT **
|
||||
|
||||
# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
|
||||
|
||||
CFG=npapi - Win32 Debug
|
||||
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
|
||||
!MESSAGE use the Export Makefile command and run
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "npapi.mak".
|
||||
!MESSAGE
|
||||
!MESSAGE You can specify a configuration when running NMAKE
|
||||
!MESSAGE by defining the macro CFG on the command line. For example:
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "npapi.mak" CFG="npapi - Win32 Debug"
|
||||
!MESSAGE
|
||||
!MESSAGE Possible choices for configuration are:
|
||||
!MESSAGE
|
||||
!MESSAGE "npapi - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
|
||||
!MESSAGE "npapi - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
|
||||
!MESSAGE
|
||||
|
||||
# Begin Project
|
||||
# PROP AllowPerConfigDependencies 0
|
||||
# PROP Scc_ProjName ""
|
||||
# PROP Scc_LocalPath ""
|
||||
CPP=cl.exe
|
||||
MTL=midl.exe
|
||||
RSC=rc.exe
|
||||
|
||||
!IF "$(CFG)" == "npapi - Win32 Release"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 0
|
||||
# PROP BASE Output_Dir "Release"
|
||||
# PROP BASE Intermediate_Dir "Release"
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 0
|
||||
# PROP Output_Dir "Release"
|
||||
# PROP Intermediate_Dir "Release"
|
||||
# PROP Ignore_Export_Lib 0
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "NPAPI_EXPORTS" /YX /FD /c
|
||||
# ADD CPP /nologo /MT /W3 /GX /O2 /I "..\include" /I "..\..\..\..\..\dist\include" /I "..\..\..\..\..\dist\include\java" /I "..\..\..\..\..\dist\include\nspr" /I "..\..\..\..\..\dist\include\plugin" /D "XP_WIN" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "NPAPI_EXPORTS" /YX /FD /c
|
||||
# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
|
||||
# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
|
||||
# ADD BASE RSC /l 0x409 /d "NDEBUG"
|
||||
# ADD RSC /l 0x409 /d "NDEBUG"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386
|
||||
# ADD LINK32 kernel32.lib user32.lib gdi32.lib /nologo /dll /machine:I386 /out:"Y:\mb\microbrowser\bin\Win32\Debug\Plugins\npapi.dll"
|
||||
|
||||
!ELSEIF "$(CFG)" == "npapi - Win32 Debug"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 1
|
||||
# PROP BASE Output_Dir "Debug"
|
||||
# PROP BASE Intermediate_Dir "Debug"
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 1
|
||||
# PROP Output_Dir "Debug"
|
||||
# PROP Intermediate_Dir "Debug"
|
||||
# PROP Ignore_Export_Lib 0
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "NPAPI_EXPORTS" /YX /FD /GZ /c
|
||||
# ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /I "..\include" /I "..\..\..\..\..\dist\include\plugin" /I "..\..\..\..\..\dist\include\java" /I "..\..\..\..\..\dist\include\nspr" /D "XP_WIN" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "NPAPI_EXPORTS" /FR /YX /FD /GZ /c
|
||||
# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
|
||||
# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
|
||||
# ADD BASE RSC /l 0x409 /d "_DEBUG"
|
||||
# ADD RSC /l 0x409 /d "_DEBUG"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept
|
||||
# ADD LINK32 kernel32.lib user32.lib gdi32.lib /nologo /dll /debug /machine:I386 /out:"Y:\mb\microbrowser\bin\Win32\Debug\Plugins\npapi.dll" /pdbtype:sept
|
||||
|
||||
!ENDIF
|
||||
|
||||
# Begin Target
|
||||
|
||||
# Name "npapi - Win32 Release"
|
||||
# Name "npapi - Win32 Debug"
|
||||
# Begin Group "Source Files"
|
||||
|
||||
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\dlgauto.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\dlgman.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\dlgtstr.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\guihlp.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\loadstatus.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\common\log.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\common\logfile.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\common\logger.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\common\loghlp.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\common\np_entry.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\npapi.def
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\npapi.rc
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\common\npn_gate.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\common\npp_gate.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\common\plugbase.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\plugin.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\common\pplib.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\common\profile.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\common\script.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\common\scripter.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\common\scrpthlp.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\common\strconv.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\winentry.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\winutils.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\common\xp.cpp
|
||||
# End Source File
|
||||
# End Group
|
||||
# Begin Group "Header Files"
|
||||
|
||||
# PROP Default_Filter "h;hpp;hxx;hm;inl"
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\include\action.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\include\comstrs.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\guihlp.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\guiprefs.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\include\helpers.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\include\loadstatus.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\include\log.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\include\logfile.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\include\logger.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\include\loghlp.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\include\plugbase.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\plugin.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\include\profile.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\resource.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\include\script.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\include\scripter.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\include\scrpthlp.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\include\strconv.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\winutils.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\include\xp.h
|
||||
# End Source File
|
||||
# End Group
|
||||
# Begin Group "Resource Files"
|
||||
|
||||
# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\icon.ico
|
||||
# End Source File
|
||||
# End Group
|
||||
# End Target
|
||||
# End Project
|
||||
|
||||
@@ -39,11 +39,11 @@ BEGIN
|
||||
GROUPBOX "Log",IDC_STATIC,7,20,105,70
|
||||
CONTROL "To file:",IDC_CHECK_LOG_TO_FILE,"Button",
|
||||
BS_AUTOCHECKBOX | WS_TABSTOP,13,33,34,10
|
||||
EDITTEXT IDC_EDIT_LOG_FILE_NAME,50,31,55,14,ES_AUTOHSCROLL
|
||||
CONTROL "To frame",IDC_CHECK_LOG_TO_FRAME,"Button",
|
||||
BS_AUTOCHECKBOX | WS_TABSTOP,13,60,41,10
|
||||
PUSHBUTTON "Flush",IDC_BUTTON_FLUSH,57,59,24,12
|
||||
PUSHBUTTON "Clear",IDC_BUTTON_CLEAR,81,59,24,12
|
||||
EDITTEXT IDC_EDIT_LOG_FILE_NAME,50,31,56,14,ES_AUTOHSCROLL
|
||||
CONTROL "To window",IDC_CHECK_LOG_TO_FRAME,"Button",
|
||||
BS_AUTOCHECKBOX | WS_TABSTOP,13,60,47,10
|
||||
PUSHBUTTON "Flush",IDC_BUTTON_FLUSH,63,59,22,12
|
||||
PUSHBUTTON "Clear",IDC_BUTTON_CLEAR,85,59,22,12
|
||||
CONTROL "Flush immediately",IDC_CHECK_SHOW_LOG,"Button",
|
||||
BS_AUTOCHECKBOX | WS_TABSTOP,26,75,71,10
|
||||
CONTROL "Remember last API call",IDC_CHECK_REMEMBER_LAST,"Button",
|
||||
@@ -104,8 +104,8 @@ END
|
||||
//
|
||||
|
||||
VS_VERSION_INFO VERSIONINFO
|
||||
FILEVERSION 1,5,0,0
|
||||
PRODUCTVERSION 1,5,0,0
|
||||
FILEVERSION 1,6,0,0
|
||||
PRODUCTVERSION 1,6,0,0
|
||||
FILEFLAGSMASK 0x3fL
|
||||
#ifdef _DEBUG
|
||||
FILEFLAGS 0x3L
|
||||
@@ -125,7 +125,7 @@ BEGIN
|
||||
VALUE "FileDescription", "32-bit NPAPI test plugin\0"
|
||||
VALUE "FileExtents", "pts\0"
|
||||
VALUE "FileOpenName", "API (*.pts)\0"
|
||||
VALUE "FileVersion", "1, 5, 0, 0\0"
|
||||
VALUE "FileVersion", "1, 6, 0, 0\0"
|
||||
VALUE "InternalName", "npapi.dll\0"
|
||||
VALUE "LegalCopyright", "Copyright © 1997-2001\0"
|
||||
VALUE "LegalTrademarks", "\0"
|
||||
@@ -133,7 +133,7 @@ BEGIN
|
||||
VALUE "OriginalFilename", "npapi.dll\0"
|
||||
VALUE "PrivateBuild", "\0"
|
||||
VALUE "ProductName", "Netscape NPAPI Tester Plugin\0"
|
||||
VALUE "ProductVersion", "1, 5, 0, 0\0"
|
||||
VALUE "ProductVersion", "1, 6, 0, 0\0"
|
||||
VALUE "SpecialBuild", "\0"
|
||||
END
|
||||
END
|
||||
@@ -204,6 +204,15 @@ END
|
||||
|
||||
#endif // APSTUDIO_INVOKED
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Icon
|
||||
//
|
||||
|
||||
// Icon with lowest ID value placed first to ensure application icon
|
||||
// remains consistent on all systems.
|
||||
IDI_ICON_APP ICON DISCARDABLE "icon.ico"
|
||||
#endif // English (U.S.) resources
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
@@ -44,6 +44,7 @@
|
||||
#include "plugin.h"
|
||||
#include "helpers.h"
|
||||
#include "logger.h"
|
||||
#include "scripter.h"
|
||||
#include "guiprefs.h"
|
||||
#include "winutils.h"
|
||||
|
||||
@@ -63,15 +64,20 @@ CPlugin::CPlugin(NPP pNPInstance, WORD wMode) :
|
||||
m_hWndManual(NULL),
|
||||
m_hWndAuto(NULL),
|
||||
m_hWndParent(NULL),
|
||||
m_hWndStandAloneLogWindow(NULL),
|
||||
m_bPluginReady(FALSE),
|
||||
m_hWndLastEditFocus(NULL),
|
||||
m_iWidth(200),
|
||||
m_iHeight(500)
|
||||
{
|
||||
restorePreferences();
|
||||
pLogger->setLogToFileFlag(m_Pref_bToFile);
|
||||
pLogger->blockDumpToFile(FALSE);
|
||||
}
|
||||
|
||||
CPlugin::~CPlugin()
|
||||
{
|
||||
savePreferences();
|
||||
}
|
||||
|
||||
static char szSection[] = SECTION_PREFERENCES;
|
||||
@@ -104,6 +110,12 @@ void CPlugin::restorePreferences()
|
||||
|
||||
XP_GetPrivateProfileString(szSection, KEY_REMEMBER_LAST_API_CALL, ENTRY_YES, sz, sizeof(sz), szFileName);
|
||||
m_Pref_bRememberLastCall = (strcmpi(sz, ENTRY_YES) == 0) ? TRUE : FALSE;
|
||||
|
||||
XP_GetPrivateProfileString(szSection, KEY_STAND_ALONE, ENTRY_NO, sz, sizeof(sz), szFileName);
|
||||
m_Pref_bStandAlone = (strcmpi(sz, ENTRY_YES) == 0) ? TRUE : FALSE;
|
||||
|
||||
XP_GetPrivateProfileString(szSection, KEY_AUTOSTART_SCRIPT, ENTRY_NO, sz, sizeof(sz), szFileName);
|
||||
m_Pref_bAutoStartScript = (strcmpi(sz, ENTRY_YES) == 0) ? TRUE : FALSE;
|
||||
}
|
||||
|
||||
void CPlugin::savePreferences()
|
||||
@@ -118,6 +130,8 @@ void CPlugin::savePreferences()
|
||||
XP_WritePrivateProfileString(szSection, KEY_TO_FRAME, m_Pref_bToFrame ? szYes : szNo, szFileName);
|
||||
XP_WritePrivateProfileString(szSection, KEY_FLUSH_NOW, m_Pref_bFlushNow ? szYes : szNo, szFileName);
|
||||
XP_WritePrivateProfileString(szSection, KEY_REMEMBER_LAST_API_CALL, m_Pref_bRememberLastCall ? szYes : szNo, szFileName);
|
||||
XP_WritePrivateProfileString(szSection, KEY_STAND_ALONE, m_Pref_bStandAlone ? szYes : szNo, szFileName);
|
||||
XP_WritePrivateProfileString(szSection, KEY_AUTOSTART_SCRIPT, m_Pref_bAutoStartScript ? szYes : szNo, szFileName);
|
||||
}
|
||||
|
||||
void CPlugin::updatePrefs(GUIPrefs prefs, int iValue, char * szValue)
|
||||
@@ -147,6 +161,12 @@ void CPlugin::updatePrefs(GUIPrefs prefs, int iValue, char * szValue)
|
||||
case gp_rememberlast:
|
||||
m_Pref_bRememberLastCall = (BOOL)iValue;
|
||||
break;
|
||||
case gp_standalone:
|
||||
m_Pref_bStandAlone = (BOOL)iValue;
|
||||
break;
|
||||
case gp_autostartscript:
|
||||
m_Pref_bAutoStartScript = (BOOL)iValue;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
@@ -164,6 +184,8 @@ void CPlugin::getLogFileName(LPSTR szLogFileName, int iSize)
|
||||
char sz[256];
|
||||
getModulePath(szLogFileName, iSize);
|
||||
Edit_GetText(GetDlgItem(m_hWnd, IDC_EDIT_LOG_FILE_NAME), sz, sizeof(sz));
|
||||
if(!strlen(sz))
|
||||
strcpy(sz, m_Pref_szLogFile);
|
||||
strcat(szLogFileName, sz);
|
||||
}
|
||||
else
|
||||
@@ -172,14 +194,78 @@ void CPlugin::getLogFileName(LPSTR szLogFileName, int iSize)
|
||||
|
||||
BOOL CALLBACK NP_LOADDS TesterDlgProc(HWND, UINT, WPARAM, LPARAM);
|
||||
|
||||
static BOOL bStandAlone = TRUE;
|
||||
static char szStandAlonePluginWindowClassName[] = "StandAloneWindowClass";
|
||||
|
||||
BOOL CPlugin::initStandAlone()
|
||||
{
|
||||
HWND hWndParent = NULL;
|
||||
|
||||
WNDCLASS wc;
|
||||
wc.style = 0;
|
||||
wc.lpfnWndProc = DefWindowProc;
|
||||
wc.cbClsExtra = 0;
|
||||
wc.cbWndExtra = 0;
|
||||
wc.hInstance = m_hInst;
|
||||
wc.hIcon = LoadIcon(hInst, MAKEINTRESOURCE(IDI_ICON_APP));
|
||||
wc.hCursor = LoadCursor(0, IDC_ARROW);
|
||||
wc.hbrBackground = (HBRUSH)(COLOR_BTNFACE + 1);
|
||||
wc.lpszMenuName = NULL;
|
||||
wc.lpszClassName = szStandAlonePluginWindowClassName;
|
||||
|
||||
if(RegisterClass(&wc))
|
||||
hWndParent = CreateWindow(szStandAlonePluginWindowClassName,
|
||||
"The Tester Plugin",
|
||||
WS_POPUPWINDOW | WS_CAPTION | WS_VISIBLE | WS_MINIMIZEBOX,
|
||||
0, 0, 800, 600,
|
||||
GetDesktopWindow(), NULL, m_hInst, NULL);
|
||||
|
||||
// m_hWndStandAloneLogWindow = CreateWindow("LISTBOX", "",
|
||||
// WS_CHILD | WS_VISIBLE | WS_BORDER | WS_VSCROLL | WS_HSCROLL | LBS_NOINTEGRALHEIGHT,
|
||||
// 200, 3, 590, 562,
|
||||
// hWndParent, NULL, m_hInst, NULL);
|
||||
|
||||
m_hWndStandAloneLogWindow = CreateWindow("EDIT", "",
|
||||
WS_CHILD | WS_VISIBLE | WS_BORDER | WS_VSCROLL | WS_HSCROLL | ES_MULTILINE | ES_READONLY,
|
||||
200, 3, 590, 562,
|
||||
hWndParent, NULL, m_hInst, NULL);
|
||||
if(!IsWindow(hWndParent))
|
||||
return FALSE;
|
||||
|
||||
m_hWndParent = hWndParent;
|
||||
|
||||
HFONT hFont = GetStockFont(DEFAULT_GUI_FONT);
|
||||
SetWindowFont(m_hWndStandAloneLogWindow, hFont, FALSE);
|
||||
|
||||
CreateDialogParam(m_hInst, MAKEINTRESOURCE(IDD_DIALOG_TESTER), m_hWndParent, (DLGPROC)TesterDlgProc, (LPARAM)this);
|
||||
|
||||
m_bPluginReady = (m_hWnd != NULL);
|
||||
|
||||
return m_bPluginReady;
|
||||
}
|
||||
|
||||
void CPlugin::shutStandAlone()
|
||||
{
|
||||
if (isStandAlone() && m_hWndParent)
|
||||
{
|
||||
DestroyWindow(m_hWndParent);
|
||||
UnregisterClass(szStandAlonePluginWindowClassName, m_hInst);
|
||||
}
|
||||
|
||||
m_bPluginReady = FALSE;
|
||||
}
|
||||
|
||||
BOOL CPlugin::initEmbed(DWORD dwInitData)
|
||||
{
|
||||
restorePreferences();
|
||||
if (m_bPluginReady)
|
||||
return TRUE;
|
||||
|
||||
HWND hWndParent = (HWND)dwInitData;
|
||||
|
||||
if(IsWindow(hWndParent))
|
||||
m_hWndParent = hWndParent;
|
||||
if(!IsWindow(hWndParent))
|
||||
return FALSE;
|
||||
|
||||
m_hWndParent = hWndParent;
|
||||
|
||||
CreateDialogParam(m_hInst, MAKEINTRESOURCE(IDD_DIALOG_TESTER), m_hWndParent, (DLGPROC)TesterDlgProc, (LPARAM)this);
|
||||
|
||||
@@ -196,8 +282,6 @@ BOOL CPlugin::initFull(DWORD dwInitData)
|
||||
|
||||
void CPlugin::shutEmbed()
|
||||
{
|
||||
savePreferences();
|
||||
|
||||
if(m_hWnd != NULL)
|
||||
{
|
||||
DestroyWindow(m_hWnd);
|
||||
@@ -233,6 +317,75 @@ void CPlugin::onInit(HWND hWnd, HWND hWndManual, HWND hWndAuto)
|
||||
pLogger->setLogToFileFlag(IsDlgButtonChecked(m_hWnd, IDC_CHECK_LOG_TO_FILE) == BST_CHECKED);
|
||||
}
|
||||
|
||||
BOOL CPlugin::isStandAlone()
|
||||
{
|
||||
return m_Pref_bStandAlone;
|
||||
}
|
||||
|
||||
void CPlugin::outputToNativeWindow(LPSTR szString)
|
||||
{
|
||||
if (!m_hWndStandAloneLogWindow)
|
||||
return;
|
||||
|
||||
// VERSION FOR EDIT BOX
|
||||
|
||||
static char text[16384];
|
||||
|
||||
if (strlen(szString)) {
|
||||
int length = Edit_GetTextLength(m_hWndStandAloneLogWindow);
|
||||
if ((length + strlen(szString)) > sizeof(text))
|
||||
strcpy(text, szString);
|
||||
else {
|
||||
Edit_GetText(m_hWndStandAloneLogWindow, text, sizeof(text));
|
||||
strcat(text, szString);
|
||||
}
|
||||
|
||||
Edit_SetText(m_hWndStandAloneLogWindow, text);
|
||||
int lines = Edit_GetLineCount(m_hWndStandAloneLogWindow);
|
||||
Edit_Scroll(m_hWndStandAloneLogWindow, lines, 0);
|
||||
}
|
||||
else
|
||||
Edit_SetText(m_hWndStandAloneLogWindow, ""); // clear the window
|
||||
|
||||
/*
|
||||
// VERSION FOR LISTBOX
|
||||
|
||||
// parse the string and add lines to the listbox
|
||||
char *p = 0;
|
||||
char *newline = szString;
|
||||
|
||||
for (;;) {
|
||||
// could be either \r\n or \n, we don't need them at all for the listbox
|
||||
p = strchr(newline, '\n');
|
||||
if (!p)
|
||||
break;
|
||||
|
||||
if (*(p - 1) == '\r')
|
||||
*(p - 1) = '\0';
|
||||
else
|
||||
*p = '\0';
|
||||
|
||||
char line[512];
|
||||
strcpy(line, newline);
|
||||
|
||||
ListBox_AddString(m_hWndStandAloneLogWindow, line);
|
||||
int count = ListBox_GetCount(m_hWndStandAloneLogWindow);
|
||||
if(count == 32767)
|
||||
ListBox_ResetContent(m_hWndStandAloneLogWindow);
|
||||
ListBox_SetCaretIndex(m_hWndStandAloneLogWindow, count - 1);
|
||||
UpdateWindow(m_hWndStandAloneLogWindow);
|
||||
|
||||
// restore the original
|
||||
if (*p == '\n')
|
||||
*(p - 1) = '\r';
|
||||
else
|
||||
*p = '\n';
|
||||
|
||||
newline = ++p;
|
||||
}
|
||||
*/
|
||||
}
|
||||
|
||||
int CPlugin::messageBox(LPSTR szMessage, LPSTR szTitle, UINT uStyle)
|
||||
{
|
||||
return MessageBox(m_hWnd, szMessage, szTitle, uStyle);
|
||||
@@ -307,6 +460,41 @@ DWORD CPlugin::makeNPNCall(NPAPI_Action action, DWORD dw1, DWORD dw2, DWORD dw3,
|
||||
return dwRet;
|
||||
}
|
||||
|
||||
void CPlugin::autoStartScriptIfNeeded()
|
||||
{
|
||||
if (!m_Pref_bAutoStartScript)
|
||||
return;
|
||||
|
||||
CScripter scripter;
|
||||
scripter.associate(this);
|
||||
|
||||
char szFileName[_MAX_PATH];
|
||||
getModulePath(szFileName, sizeof(szFileName));
|
||||
strcat(szFileName, m_Pref_szScriptFile);
|
||||
|
||||
if(scripter.createScriptFromFile(szFileName))
|
||||
{
|
||||
int iRepetitions = scripter.getCycleRepetitions();
|
||||
int iDelay = scripter.getCycleDelay();
|
||||
if(iDelay < 0)
|
||||
iDelay = 0;
|
||||
|
||||
assert(pLogger != NULL);
|
||||
pLogger->resetStartTime();
|
||||
|
||||
for(int i = 0; i < iRepetitions; i++)
|
||||
{
|
||||
scripter.executeScript();
|
||||
if(iDelay != 0)
|
||||
XP_Sleep(iDelay);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
MessageBox(NULL, "Script file not found or invalid", "", MB_OK | MB_ICONERROR);
|
||||
}
|
||||
}
|
||||
|
||||
// Creation and destruction
|
||||
CPluginBase * CreatePlugin(NPP instance, uint16 mode)
|
||||
{
|
||||
@@ -317,5 +505,5 @@ CPluginBase * CreatePlugin(NPP instance, uint16 mode)
|
||||
void DestroyPlugin(CPluginBase * pPlugin)
|
||||
{
|
||||
if(pPlugin != NULL)
|
||||
delete (CPluginBase *)pPlugin;
|
||||
delete (CPlugin *)pPlugin;
|
||||
}
|
||||
|
||||
@@ -54,36 +54,13 @@ typedef enum
|
||||
gp_tofile,
|
||||
gp_toframe,
|
||||
gp_flush,
|
||||
gp_rememberlast
|
||||
gp_rememberlast,
|
||||
gp_standalone,
|
||||
gp_autostartscript
|
||||
}GUIPrefs;
|
||||
|
||||
class CPlugin : public CPluginBase
|
||||
{
|
||||
private:
|
||||
HINSTANCE m_hInst;
|
||||
HWND m_hWnd;
|
||||
HWND m_hWndParent;
|
||||
HWND m_hWndManual;
|
||||
HWND m_hWndAuto;
|
||||
BOOL m_bPluginReady;
|
||||
|
||||
//
|
||||
// some GUI data
|
||||
//
|
||||
public:
|
||||
HWND m_hWndLastEditFocus;
|
||||
int m_iWidth;
|
||||
int m_iHeight;
|
||||
|
||||
// GUI preferences
|
||||
ShowGUI m_Pref_ShowGUI;
|
||||
char m_Pref_szLogFile[256];
|
||||
char m_Pref_szScriptFile[256];
|
||||
BOOL m_Pref_bToFile;
|
||||
BOOL m_Pref_bToFrame;
|
||||
BOOL m_Pref_bFlushNow;
|
||||
BOOL m_Pref_bRememberLastCall;
|
||||
|
||||
// public interface
|
||||
public:
|
||||
CPlugin(NPP pNPInstance, WORD wMode);
|
||||
@@ -97,6 +74,12 @@ public:
|
||||
void getModulePath(LPSTR szPath, int iSize);
|
||||
int messageBox(LPSTR szMessage, LPSTR szTitle, UINT uStyle);
|
||||
void getLogFileName(LPSTR szLogFileName, int iSize);
|
||||
BOOL initStandAlone(); // create separate native window
|
||||
void shutStandAlone(); // destroy separate native window
|
||||
BOOL isStandAlone(); // is our GUI is in a separate native window
|
||||
void outputToNativeWindow(LPSTR szString); // used to output log in StandAlone mode
|
||||
|
||||
void autoStartScriptIfNeeded();
|
||||
|
||||
DWORD makeNPNCall(NPAPI_Action = action_invalid,
|
||||
DWORD dw1 = 0L, DWORD dw2 = 0L,
|
||||
@@ -125,6 +108,32 @@ public:
|
||||
void onInit(HWND hWnd, HWND hWndManual, HWND hWndAuto);
|
||||
void onDestroy();
|
||||
void onLogToFile(BOOL bLofToFile);
|
||||
|
||||
private:
|
||||
HINSTANCE m_hInst;
|
||||
HWND m_hWnd;
|
||||
HWND m_hWndParent;
|
||||
HWND m_hWndStandAloneLogWindow;
|
||||
HWND m_hWndManual;
|
||||
HWND m_hWndAuto;
|
||||
BOOL m_bPluginReady;
|
||||
|
||||
// some GUI data
|
||||
public:
|
||||
HWND m_hWndLastEditFocus;
|
||||
int m_iWidth;
|
||||
int m_iHeight;
|
||||
|
||||
// GUI preferences
|
||||
ShowGUI m_Pref_ShowGUI;
|
||||
char m_Pref_szLogFile[256];
|
||||
char m_Pref_szScriptFile[256];
|
||||
BOOL m_Pref_bToFile;
|
||||
BOOL m_Pref_bToFrame;
|
||||
BOOL m_Pref_bFlushNow;
|
||||
BOOL m_Pref_bRememberLastCall;
|
||||
BOOL m_Pref_bStandAlone;
|
||||
BOOL m_Pref_bAutoStartScript;
|
||||
};
|
||||
|
||||
#endif // __PLUGIN_H__
|
||||
|
||||
@@ -44,6 +44,7 @@
|
||||
#define IDC_STATIC_REPETITIONS_LEFT 1044
|
||||
#define IDC_CHECK_REMEMBER_LAST 1045
|
||||
#define IDC_STATIC_REPETITIONS_LABEL 1046
|
||||
#define IDI_ICON_APP 1047
|
||||
|
||||
// Next default values for new objects
|
||||
//
|
||||
@@ -51,7 +52,7 @@
|
||||
#ifndef APSTUDIO_READONLY_SYMBOLS
|
||||
#define _APS_NEXT_RESOURCE_VALUE 115
|
||||
#define _APS_NEXT_COMMAND_VALUE 40001
|
||||
#define _APS_NEXT_CONTROL_VALUE 1047
|
||||
#define _APS_NEXT_CONTROL_VALUE 1048
|
||||
#define _APS_NEXT_SYMED_VALUE 101
|
||||
#endif
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user