VT100debugport console no longer requires you to disable size detect in vt100.ini
authorTom Sutcliffe <thomas.sutcliffe@accenture.com>
Wed, 11 Aug 2010 12:05:02 +0100
changeset 28 169dfbeff8ee
parent 27 17e35ffe449b
child 29 9a2198517f48
VT100debugport console no longer requires you to disable size detect in vt100.ini
plugins/consoles/vt100cons/bwins/vt100u.def
plugins/consoles/vt100cons/doc/vt100cons.pod
plugins/consoles/vt100cons/eabi/vt100u.def
plugins/consoles/vt100cons/inc/vtc_base.h
plugins/consoles/vt100cons/src/vt100/vtc_base.cpp
plugins/consoles/vt100cons/src/vtc_debugport.cpp
--- a/plugins/consoles/vt100cons/bwins/vt100u.def	Tue Aug 10 12:33:46 2010 +0100
+++ b/plugins/consoles/vt100cons/bwins/vt100u.def	Wed Aug 11 12:05:02 2010 +0100
@@ -37,4 +37,5 @@
 	?SetAttributes@CVtConsoleOutputController@@QAEHIW4TColor@ConsoleAttributes@@0@Z @ 36 NONAME ; int CVtConsoleOutputController::SetAttributes(unsigned int, enum ConsoleAttributes::TColor, enum ConsoleAttributes::TColor)
 	?ResetAttributes@CVtConsoleOutputController@@QAEHXZ @ 37 NONAME ; int CVtConsoleOutputController::ResetAttributes(void)
 	?ReadKeywordValuePair@CVtcConsoleBase@@KAHAAVTLex16@@AAVTPtrC16@@1@Z @ 38 NONAME ; int CVtcConsoleBase::ReadKeywordValuePair(class TLex16 &, class TPtrC16 &, class TPtrC16 &)
+	?ConstructL@CVtcConsoleBase@@IAEXABVTDesC16@@H@Z @ 39 NONAME ; void CVtcConsoleBase::ConstructL(class TDesC16 const &, int)
 
--- a/plugins/consoles/vt100cons/doc/vt100cons.pod	Tue Aug 10 12:33:46 2010 +0100
+++ b/plugins/consoles/vt100cons/doc/vt100cons.pod	Wed Aug 11 12:05:02 2010 +0100
@@ -246,7 +246,7 @@
 
 =item *
 
-Console size detection is not supported, and must be disabled in vt100.ini and iosrv.ini (eg by including vt100.ini.noautodetect and iosrv.ini.noautodetect). The console will always be assumed to be 80x24.
+Console size detection is not supported, and must be disabled in iosrv.ini (eg by including iosrv.ini.noautodetect). The console will always be assumed to be 80x24.
 
 =item *
 
@@ -260,7 +260,9 @@
 
 There are no C<--console-title> options for vt100debugport.dll. Usage:
 
-    fshell --console vt100debugport.dll
+    fshell --console vt100debugport
+
+Note that use of vt100debugport is incompatible with using the C<FSHELL_REPLACE_ECONS> macro. If you intend to use vt100debugport you must not specify the replace econs macro.
 
 =head2 RBusDevComm variant
 
--- a/plugins/consoles/vt100cons/eabi/vt100u.def	Tue Aug 10 12:33:46 2010 +0100
+++ b/plugins/consoles/vt100cons/eabi/vt100u.def	Wed Aug 11 12:05:02 2010 +0100
@@ -45,4 +45,5 @@
 	_ZN26CVtConsoleOutputController13SetAttributesEjN17ConsoleAttributes6TColorES1_ @ 44 NONAME
 	_ZN26CVtConsoleOutputController15ResetAttributesEv @ 45 NONAME
 	_ZN15CVtcConsoleBase20ReadKeywordValuePairER6TLex16R7TPtrC16S3_ @ 46 NONAME
+	_ZN15CVtcConsoleBase10ConstructLERK7TDesC16i @ 47 NONAME
 
--- a/plugins/consoles/vt100cons/inc/vtc_base.h	Tue Aug 10 12:33:46 2010 +0100
+++ b/plugins/consoles/vt100cons/inc/vtc_base.h	Wed Aug 11 12:05:02 2010 +0100
@@ -51,6 +51,7 @@
 protected:
 	IMPORT_C CVtcConsoleBase();
 	IMPORT_C virtual void ConstructL(const TDesC& aTitle);
+	IMPORT_C void ConstructL(const TDesC& aTitle, TBool aConsoleSupportsSizeDetect); // Note this is NOT virtual, only used for baseclasses to call up to from their overload of ConstructL(const TDesC&) if they explicitly don't support console size detect
 	IMPORT_C static TInt ReadKeywordValuePair(TLex& aLex, TPtrC& aKeyword, TPtrC& aValue);
 
 private:
--- a/plugins/consoles/vt100cons/src/vt100/vtc_base.cpp	Tue Aug 10 12:33:46 2010 +0100
+++ b/plugins/consoles/vt100cons/src/vt100/vtc_base.cpp	Wed Aug 11 12:05:02 2010 +0100
@@ -69,12 +69,17 @@
 	return err;
 	}
 
-EXPORT_C void CVtcConsoleBase::ConstructL(const TDesC&)
+EXPORT_C void CVtcConsoleBase::ConstructL(const TDesC& aTitle)
+	{
+	ConstructL(aTitle, ETrue);
+	}
+
+EXPORT_C void CVtcConsoleBase::ConstructL(const TDesC&, TBool aConsoleSupportsSizeDetect)
 	{
 	iIniFile = LtkUtils::CIniFile::NewL(KIniFileName, KIniDesciptionFile);
 
 	TSize screenSize(80, 24); // If sizeDetect is not specified, we default to (and only support) 80x24
-	if (iIniFile->GetBool(KAttConsoleSizeDetect))
+	if (aConsoleSupportsSizeDetect && iIniFile->GetBool(KAttConsoleSizeDetect))
 		{
 		DetectScreenSizeL(screenSize);
 		}
--- a/plugins/consoles/vt100cons/src/vtc_debugport.cpp	Tue Aug 10 12:33:46 2010 +0100
+++ b/plugins/consoles/vt100cons/src/vtc_debugport.cpp	Wed Aug 11 12:05:02 2010 +0100
@@ -82,7 +82,7 @@
 	iReader = new(ELeave) CReaderObject(this);
 	User::LeaveIfError(iConsole.Create());
 	User::LeaveIfError(iConsole.Init(_L("fshell"), TSize(KConsFullScreen,KConsFullScreen)));
-	CVtcConsoleBase::ConstructL(aTitle);
+	CVtcConsoleBase::ConstructL(aTitle, EFalse);
 	}
 	
 TInt CVtcDebugPortConsole::Output(const TDesC8& aDes)