Skip to content
Browse files

Fixes to make IoVM and basekit compile under msys/mingw.

  • Loading branch information...
1 parent 25a2afb commit 180bc175b5146a51e21429d729abacb45caf9a9e unknown committed
Sorry, we could not display the entire diff because it was too big.
View
156 extras/osx/osx.1
@@ -1,79 +1,79 @@
-.\"Modified from man(1) of FreeBSD, the NetBSD mdoc.template, and mdoc.samples.
-.\"See Also:
-.\"man mdoc.samples for a complete listing of options
-.\"man mdoc for the short list of editing options
-.\"/usr/share/misc/mdoc.template
-.Dd 1/18/07 \" DATE
-.Dt osx 1 \" Program name and manual section number
-.Os Darwin
-.Sh NAME \" Section Header - required - don't modify
-.Nm osx,
-.\" The following lines are read in generating the apropos(man -k) database. Use only key
-.\" words here as the database is built based on the words here and in the .ND line.
-.Nm Other_name_for_same_program(),
-.Nm Yet another name for the same program.
-.\" Use .Nm macro to designate other names for the documented program.
-.Nd This line parsed for whatis database.
-.Sh SYNOPSIS \" Section Header - required - don't modify
-.Nm
-.Op Fl abcd \" [-abcd]
-.Op Fl a Ar path \" [-a path]
-.Op Ar file \" [file]
-.Op Ar \" [file ...]
-.Ar arg0 \" Underlined argument - use .Ar anywhere to underline
-arg2 ... \" Arguments
-.Sh DESCRIPTION \" Section Header - required - don't modify
-Use the .Nm macro to refer to your program throughout the man page like such:
-.Nm
-Underlining is accomplished with the .Ar macro like this:
-.Ar underlined text .
-.Pp \" Inserts a space
-A list of items with descriptions:
-.Bl -tag -width -indent \" Begins a tagged list
-.It item a \" Each item preceded by .It macro
-Description of item a
-.It item b
-Description of item b
-.El \" Ends the list
-.Pp
-A list of flags and their descriptions:
-.Bl -tag -width -indent \" Differs from above in tag removed
-.It Fl a \"-a flag as a list item
-Description of -a flag
-.It Fl b
-Description of -b flag
-.El \" Ends the list
-.Pp
-.\" .Sh ENVIRONMENT \" May not be needed
-.\" .Bl -tag -width "ENV_VAR_1" -indent \" ENV_VAR_1 is width of the string ENV_VAR_1
-.\" .It Ev ENV_VAR_1
-.\" Description of ENV_VAR_1
-.\" .It Ev ENV_VAR_2
-.\" Description of ENV_VAR_2
-.\" .El
-.Sh FILES \" File used or created by the topic of the man page
-.Bl -tag -width "/Users/joeuser/Library/really_long_file_name" -compact
-.It Pa /usr/share/file_name
-FILE_1 description
-.It Pa /Users/joeuser/Library/really_long_file_name
-FILE_2 description
-.El \" Ends the list
-.\" .Sh DIAGNOSTICS \" May not be needed
-.\" .Bl -diag
-.\" .It Diagnostic Tag
-.\" Diagnostic informtion here.
-.\" .It Diagnostic Tag
-.\" Diagnostic informtion here.
-.\" .El
-.Sh SEE ALSO
-.\" List links in ascending order by section, alphabetically within a section.
-.\" Please do not reference files that do not exist without filing a bug report
-.Xr a 1 ,
-.Xr b 1 ,
-.Xr c 1 ,
-.Xr a 2 ,
-.Xr b 2 ,
-.Xr a 3 ,
-.Xr b 3
-.\" .Sh BUGS \" Document known, unremedied bugs
+.\"Modified from man(1) of FreeBSD, the NetBSD mdoc.template, and mdoc.samples.
+.\"See Also:
+.\"man mdoc.samples for a complete listing of options
+.\"man mdoc for the short list of editing options
+.\"/usr/share/misc/mdoc.template
+.Dd 1/18/07 \" DATE
+.Dt osx 1 \" Program name and manual section number
+.Os Darwin
+.Sh NAME \" Section Header - required - don't modify
+.Nm osx,
+.\" The following lines are read in generating the apropos(man -k) database. Use only key
+.\" words here as the database is built based on the words here and in the .ND line.
+.Nm Other_name_for_same_program(),
+.Nm Yet another name for the same program.
+.\" Use .Nm macro to designate other names for the documented program.
+.Nd This line parsed for whatis database.
+.Sh SYNOPSIS \" Section Header - required - don't modify
+.Nm
+.Op Fl abcd \" [-abcd]
+.Op Fl a Ar path \" [-a path]
+.Op Ar file \" [file]
+.Op Ar \" [file ...]
+.Ar arg0 \" Underlined argument - use .Ar anywhere to underline
+arg2 ... \" Arguments
+.Sh DESCRIPTION \" Section Header - required - don't modify
+Use the .Nm macro to refer to your program throughout the man page like such:
+.Nm
+Underlining is accomplished with the .Ar macro like this:
+.Ar underlined text .
+.Pp \" Inserts a space
+A list of items with descriptions:
+.Bl -tag -width -indent \" Begins a tagged list
+.It item a \" Each item preceded by .It macro
+Description of item a
+.It item b
+Description of item b
+.El \" Ends the list
+.Pp
+A list of flags and their descriptions:
+.Bl -tag -width -indent \" Differs from above in tag removed
+.It Fl a \"-a flag as a list item
+Description of -a flag
+.It Fl b
+Description of -b flag
+.El \" Ends the list
+.Pp
+.\" .Sh ENVIRONMENT \" May not be needed
+.\" .Bl -tag -width "ENV_VAR_1" -indent \" ENV_VAR_1 is width of the string ENV_VAR_1
+.\" .It Ev ENV_VAR_1
+.\" Description of ENV_VAR_1
+.\" .It Ev ENV_VAR_2
+.\" Description of ENV_VAR_2
+.\" .El
+.Sh FILES \" File used or created by the topic of the man page
+.Bl -tag -width "/Users/joeuser/Library/really_long_file_name" -compact
+.It Pa /usr/share/file_name
+FILE_1 description
+.It Pa /Users/joeuser/Library/really_long_file_name
+FILE_2 description
+.El \" Ends the list
+.\" .Sh DIAGNOSTICS \" May not be needed
+.\" .Bl -diag
+.\" .It Diagnostic Tag
+.\" Diagnostic informtion here.
+.\" .It Diagnostic Tag
+.\" Diagnostic informtion here.
+.\" .El
+.Sh SEE ALSO
+.\" List links in ascending order by section, alphabetically within a section.
+.\" Please do not reference files that do not exist without filing a bug report
+.Xr a 1 ,
+.Xr b 1 ,
+.Xr c 1 ,
+.Xr a 2 ,
+.Xr b 2 ,
+.Xr a 3 ,
+.Xr b 3
+.\" .Sh BUGS \" Document known, unremedied bugs
.\" .Sh HISTORY \" Document history if command behaves in a unique manner
View
156 extras/osxmain/osxmain.1
@@ -1,79 +1,79 @@
-.\"Modified from man(1) of FreeBSD, the NetBSD mdoc.template, and mdoc.samples.
-.\"See Also:
-.\"man mdoc.samples for a complete listing of options
-.\"man mdoc for the short list of editing options
-.\"/usr/share/misc/mdoc.template
-.Dd 10/25/09 \" DATE
-.Dt osxmain 1 \" Program name and manual section number
-.Os Darwin
-.Sh NAME \" Section Header - required - don't modify
-.Nm osxmain,
-.\" The following lines are read in generating the apropos(man -k) database. Use only key
-.\" words here as the database is built based on the words here and in the .ND line.
-.Nm Other_name_for_same_program(),
-.Nm Yet another name for the same program.
-.\" Use .Nm macro to designate other names for the documented program.
-.Nd This line parsed for whatis database.
-.Sh SYNOPSIS \" Section Header - required - don't modify
-.Nm
-.Op Fl abcd \" [-abcd]
-.Op Fl a Ar path \" [-a path]
-.Op Ar file \" [file]
-.Op Ar \" [file ...]
-.Ar arg0 \" Underlined argument - use .Ar anywhere to underline
-arg2 ... \" Arguments
-.Sh DESCRIPTION \" Section Header - required - don't modify
-Use the .Nm macro to refer to your program throughout the man page like such:
-.Nm
-Underlining is accomplished with the .Ar macro like this:
-.Ar underlined text .
-.Pp \" Inserts a space
-A list of items with descriptions:
-.Bl -tag -width -indent \" Begins a tagged list
-.It item a \" Each item preceded by .It macro
-Description of item a
-.It item b
-Description of item b
-.El \" Ends the list
-.Pp
-A list of flags and their descriptions:
-.Bl -tag -width -indent \" Differs from above in tag removed
-.It Fl a \"-a flag as a list item
-Description of -a flag
-.It Fl b
-Description of -b flag
-.El \" Ends the list
-.Pp
-.\" .Sh ENVIRONMENT \" May not be needed
-.\" .Bl -tag -width "ENV_VAR_1" -indent \" ENV_VAR_1 is width of the string ENV_VAR_1
-.\" .It Ev ENV_VAR_1
-.\" Description of ENV_VAR_1
-.\" .It Ev ENV_VAR_2
-.\" Description of ENV_VAR_2
-.\" .El
-.Sh FILES \" File used or created by the topic of the man page
-.Bl -tag -width "/Users/joeuser/Library/really_long_file_name" -compact
-.It Pa /usr/share/file_name
-FILE_1 description
-.It Pa /Users/joeuser/Library/really_long_file_name
-FILE_2 description
-.El \" Ends the list
-.\" .Sh DIAGNOSTICS \" May not be needed
-.\" .Bl -diag
-.\" .It Diagnostic Tag
-.\" Diagnostic informtion here.
-.\" .It Diagnostic Tag
-.\" Diagnostic informtion here.
-.\" .El
-.Sh SEE ALSO
-.\" List links in ascending order by section, alphabetically within a section.
-.\" Please do not reference files that do not exist without filing a bug report
-.Xr a 1 ,
-.Xr b 1 ,
-.Xr c 1 ,
-.Xr a 2 ,
-.Xr b 2 ,
-.Xr a 3 ,
-.Xr b 3
-.\" .Sh BUGS \" Document known, unremedied bugs
+.\"Modified from man(1) of FreeBSD, the NetBSD mdoc.template, and mdoc.samples.
+.\"See Also:
+.\"man mdoc.samples for a complete listing of options
+.\"man mdoc for the short list of editing options
+.\"/usr/share/misc/mdoc.template
+.Dd 10/25/09 \" DATE
+.Dt osxmain 1 \" Program name and manual section number
+.Os Darwin
+.Sh NAME \" Section Header - required - don't modify
+.Nm osxmain,
+.\" The following lines are read in generating the apropos(man -k) database. Use only key
+.\" words here as the database is built based on the words here and in the .ND line.
+.Nm Other_name_for_same_program(),
+.Nm Yet another name for the same program.
+.\" Use .Nm macro to designate other names for the documented program.
+.Nd This line parsed for whatis database.
+.Sh SYNOPSIS \" Section Header - required - don't modify
+.Nm
+.Op Fl abcd \" [-abcd]
+.Op Fl a Ar path \" [-a path]
+.Op Ar file \" [file]
+.Op Ar \" [file ...]
+.Ar arg0 \" Underlined argument - use .Ar anywhere to underline
+arg2 ... \" Arguments
+.Sh DESCRIPTION \" Section Header - required - don't modify
+Use the .Nm macro to refer to your program throughout the man page like such:
+.Nm
+Underlining is accomplished with the .Ar macro like this:
+.Ar underlined text .
+.Pp \" Inserts a space
+A list of items with descriptions:
+.Bl -tag -width -indent \" Begins a tagged list
+.It item a \" Each item preceded by .It macro
+Description of item a
+.It item b
+Description of item b
+.El \" Ends the list
+.Pp
+A list of flags and their descriptions:
+.Bl -tag -width -indent \" Differs from above in tag removed
+.It Fl a \"-a flag as a list item
+Description of -a flag
+.It Fl b
+Description of -b flag
+.El \" Ends the list
+.Pp
+.\" .Sh ENVIRONMENT \" May not be needed
+.\" .Bl -tag -width "ENV_VAR_1" -indent \" ENV_VAR_1 is width of the string ENV_VAR_1
+.\" .It Ev ENV_VAR_1
+.\" Description of ENV_VAR_1
+.\" .It Ev ENV_VAR_2
+.\" Description of ENV_VAR_2
+.\" .El
+.Sh FILES \" File used or created by the topic of the man page
+.Bl -tag -width "/Users/joeuser/Library/really_long_file_name" -compact
+.It Pa /usr/share/file_name
+FILE_1 description
+.It Pa /Users/joeuser/Library/really_long_file_name
+FILE_2 description
+.El \" Ends the list
+.\" .Sh DIAGNOSTICS \" May not be needed
+.\" .Bl -diag
+.\" .It Diagnostic Tag
+.\" Diagnostic informtion here.
+.\" .It Diagnostic Tag
+.\" Diagnostic informtion here.
+.\" .El
+.Sh SEE ALSO
+.\" List links in ascending order by section, alphabetically within a section.
+.\" Please do not reference files that do not exist without filing a bug report
+.Xr a 1 ,
+.Xr b 1 ,
+.Xr c 1 ,
+.Xr a 2 ,
+.Xr b 2 ,
+.Xr a 3 ,
+.Xr b 3
+.\" .Sh BUGS \" Document known, unremedied bugs
.\" .Sh HISTORY \" Document history if command behaves in a unique manner
View
30 extras/symbian/ABLD.BAT
@@ -1,15 +1,15 @@
-@ECHO OFF
-
-REM Bldmake-generated batch file - ABLD.BAT
-REM ** DO NOT EDIT **
-
-perl -S ABLD.PL \PROJECTS\SYMBIAN\IO20020925\SYMBIAN\ %1 %2 %3 %4 %5 %6 %7 %8 %9
-if errorlevel==1 goto CheckPerl
-goto End
-
-:CheckPerl
-perl -v >NUL
-if errorlevel==1 echo Is Perl, version 5.003_07 or later, installed?
-goto End
-
-:End
+@ECHO OFF
+
+REM Bldmake-generated batch file - ABLD.BAT
+REM ** DO NOT EDIT **
+
+perl -S ABLD.PL \PROJECTS\SYMBIAN\IO20020925\SYMBIAN\ %1 %2 %3 %4 %5 %6 %7 %8 %9
+if errorlevel==1 goto CheckPerl
+goto End
+
+:CheckPerl
+perl -v >NUL
+if errorlevel==1 echo Is Perl, version 5.003_07 or later, installed?
+goto End
+
+:End
View
8 extras/symbian/Bld.inf
@@ -1,4 +1,4 @@
-
-PRJ_MMPFILES
-
-io.mmp
+
+PRJ_MMPFILES
+
+io.mmp
View
1,834 extras/symbian/SymbianSockets.cpp
917 additions, 917 deletions not shown because the diff is too large. Please use a local Git client to view these changes.
View
10 extras/symbian/SymbianSockets.h
@@ -1,6 +1,6 @@
-#if !defined(SYMBIANSOCKETS_H)
-#define SYMBIANSOCKETS_H
-
-void initSocketAddons(IoState* state);
-
+#if !defined(SYMBIANSOCKETS_H)
+#define SYMBIANSOCKETS_H
+
+void initSocketAddons(IoState* state);
+
#endif
View
92 extras/symbian/io.mmp
@@ -1,46 +1,46 @@
-TARGET io.app
-TARGETTYPE app
-TARGETPATH \system\apps\io20021108
-UID 0x100039CE 0x10004855
-RESOURCE io.rss
-SOURCEPATH .
-SOURCE ..\..\IoExceptionCatch.c
-SOURCE ..\..\IoState.c
-SOURCE ..\..\IoObject.c
-SOURCE ..\..\IoTag.c
-SOURCE ..\..\IoValue.c
-SOURCE ..\..\IoNil.c
-SOURCE ..\..\IoNumber.c
-SOURCE ..\..\IoString.c
-SOURCE ..\..\IoList.c
-SOURCE ..\..\IoMap.c
-SOURCE ..\..\IoBuffer.c
-SOURCE ..\..\IoMessage.c
-SOURCE ..\..\IoMessage_parser.c
-SOURCE ..\..\IoBlock.c
-SOURCE ..\..\IoCFunction.c
-SOURCE ..\..\IoDate.c
-SOURCE ..\..\IoFile.c
-SOURCE ..\..\IoLinkedList.c
-SOURCE ..\..\IoCoroutine.c
-SOURCE ..\..\IoObject_actor.c
-SOURCE ..\..\IoValueGroup.c
-SOURCE ..\..\base\ByteArray.c
-SOURCE ..\..\base\list.c
-SOURCE ..\..\base\phash.c
-SOURCE ..\..\base\hash.c
-SOURCE ..\..\base\splaytree.c
-SOURCE ..\..\base\stack.c
-SOURCE ..\..\base\linkedlist.c
-SOURCE ..\..\base\parser.c
-SOURCE ..\..\base\CLI.c
-SOURCE ..\..\base\MainArgs.c
-SOURCE ..\..\base\Scheduler.c
-
-SOURCE symbianmain.cpp
-SOURCE SymbianSockets.cpp
-
-SYSTEMINCLUDE \epoc32\include\libc \epoc32\include ..\..\base ..\..
-LIBRARY estlib.lib edllstub.lib euser.lib apparc.lib cone.lib eikcore.lib eikcoctl.lib efsrv.lib gdi.lib bafl.lib estor.lib esock.lib insock.lib etext.lib charconv.lib eikctl.lib
-
-STATICLIBRARY egcc.lib
+TARGET io.app
+TARGETTYPE app
+TARGETPATH \system\apps\io20021108
+UID 0x100039CE 0x10004855
+RESOURCE io.rss
+SOURCEPATH .
+SOURCE ..\..\IoExceptionCatch.c
+SOURCE ..\..\IoState.c
+SOURCE ..\..\IoObject.c
+SOURCE ..\..\IoTag.c
+SOURCE ..\..\IoValue.c
+SOURCE ..\..\IoNil.c
+SOURCE ..\..\IoNumber.c
+SOURCE ..\..\IoString.c
+SOURCE ..\..\IoList.c
+SOURCE ..\..\IoMap.c
+SOURCE ..\..\IoBuffer.c
+SOURCE ..\..\IoMessage.c
+SOURCE ..\..\IoMessage_parser.c
+SOURCE ..\..\IoBlock.c
+SOURCE ..\..\IoCFunction.c
+SOURCE ..\..\IoDate.c
+SOURCE ..\..\IoFile.c
+SOURCE ..\..\IoLinkedList.c
+SOURCE ..\..\IoCoroutine.c
+SOURCE ..\..\IoObject_actor.c
+SOURCE ..\..\IoValueGroup.c
+SOURCE ..\..\base\ByteArray.c
+SOURCE ..\..\base\list.c
+SOURCE ..\..\base\phash.c
+SOURCE ..\..\base\hash.c
+SOURCE ..\..\base\splaytree.c
+SOURCE ..\..\base\stack.c
+SOURCE ..\..\base\linkedlist.c
+SOURCE ..\..\base\parser.c
+SOURCE ..\..\base\CLI.c
+SOURCE ..\..\base\MainArgs.c
+SOURCE ..\..\base\Scheduler.c
+
+SOURCE symbianmain.cpp
+SOURCE SymbianSockets.cpp
+
+SYSTEMINCLUDE \epoc32\include\libc \epoc32\include ..\..\base ..\..
+LIBRARY estlib.lib edllstub.lib euser.lib apparc.lib cone.lib eikcore.lib eikcoctl.lib efsrv.lib gdi.lib bafl.lib estor.lib esock.lib insock.lib etext.lib charconv.lib eikctl.lib
+
+STATICLIBRARY egcc.lib
View
136 extras/symbian/io.rss
@@ -1,68 +1,68 @@
-// EIKECHO.RSS
-//
-// Copyright (c) 1997-1999 Symbian Ltd. All rights reserved.
-//
-
-NAME io
-
-#include <eikon.rh>
-
-RESOURCE RSS_SIGNATURE { }
-
-RESOURCE TBUF16 { buf=""; }
-
-RESOURCE EIK_APP_INFO { hotkeys=r_cons_hotkeys; menubar=r_cons_menubar; cba=r_cons_cba; }
-
-RESOURCE HOTKEYS r_cons_hotkeys
- {
- control=
- {
- HOTKEY { command=EEikCmdExit; key='e'; }
- };
- }
-
-RESOURCE MENU_BAR r_cons_menubar
- {
- titles=
- {
- MENU_TITLE { menu_pane=r_cons_file_menu; txt="File"; },
- MENU_TITLE { menu_pane=r_cons_extend_menu; txt="Extend"; }
- };
- }
-
-RESOURCE MENU_PANE r_cons_file_menu
- {
- items=
- {
- MENU_ITEM
- {
- command=200;
- txt="Test";
- },
- MENU_ITEM
- {
- command=EEikCmdExit;
- txt="Exit";
- }
- };
- }
-
-RESOURCE MENU_PANE r_cons_extend_menu
- {
- }
-
-RESOURCE CBA r_cons_cba
-{
- buttons =
- {
- CBA_BUTTON
- {
- id = EEikCmdExit;
- txt = "Exit";
- }
- };
-}
-
-
-
-
+// EIKECHO.RSS
+//
+// Copyright (c) 1997-1999 Symbian Ltd. All rights reserved.
+//
+
+NAME io
+
+#include <eikon.rh>
+
+RESOURCE RSS_SIGNATURE { }
+
+RESOURCE TBUF16 { buf=""; }
+
+RESOURCE EIK_APP_INFO { hotkeys=r_cons_hotkeys; menubar=r_cons_menubar; cba=r_cons_cba; }
+
+RESOURCE HOTKEYS r_cons_hotkeys
+ {
+ control=
+ {
+ HOTKEY { command=EEikCmdExit; key='e'; }
+ };
+ }
+
+RESOURCE MENU_BAR r_cons_menubar
+ {
+ titles=
+ {
+ MENU_TITLE { menu_pane=r_cons_file_menu; txt="File"; },
+ MENU_TITLE { menu_pane=r_cons_extend_menu; txt="Extend"; }
+ };
+ }
+
+RESOURCE MENU_PANE r_cons_file_menu
+ {
+ items=
+ {
+ MENU_ITEM
+ {
+ command=200;
+ txt="Test";
+ },
+ MENU_ITEM
+ {
+ command=EEikCmdExit;
+ txt="Exit";
+ }
+ };
+ }
+
+RESOURCE MENU_PANE r_cons_extend_menu
+ {
+ }
+
+RESOURCE CBA r_cons_cba
+{
+ buttons =
+ {
+ CBA_BUTTON
+ {
+ id = EEikCmdExit;
+ txt = "Exit";
+ }
+ };
+}
+
+
+
+
View
1,314 extras/symbian/symbianmain.cpp
@@ -1,657 +1,657 @@
-#include <e32base.h>
-#include <eikappui.h>
-#include <eikapp.h>
-#include <e32cons.h>
-#include <eikconso.h>
-#include <eikdoc.h>
-#include <baclipb.h>
-#include <s32std.h>
-#include <string.h>
-#include <txtetext.h>
-#include <txtrich.h>
-#include <charconv.h>
-#include <coecobs.h>
-#include <eikbtgpc.h>
-#include <eikenv.h>
-#include <io.rsg>
-
-extern "C"
-{
-#include "IoState.h"
-#include "IoNIL.h"
-#include "IoMessage.h"
-#include "IoNumber.h"
-}
-
-#include "SymbianSockets.h"
-#include "SymbianMain.h"
-
-class CConsoleControl;
-
-void executeClipboard(IoState* state);
-
-extern "C"
-{
- void* init_thread_globals();
-
- struct thread_globals* get_thread_globals()
- {
- return (struct thread_globals*)Dll::Tls();
- }
-
- void Scheduler_current_(Scheduler* s)
- {
- Dll::SetTls(s);
- }
-
- Scheduler *Scheduler_current(void)
- {
- return (Scheduler*)Dll::Tls();
- }
-
-
- IoMessage *IoMessage_newFromText_label_(void *state, char *text, char *label);
- int IoObject_activeCoroutineCount(void) ;
- void IoObject_yield(IoObject *self);
-
- void IoExceptionCatch_jump(IoExceptionCatch *self)
- {
- User::Leave(1);
- }
-
- IoValue *IoObject_catchException(IoObject *self, IoObject *locals, IoMessage *m)
- {
- IoValue *result;
- IoMessage_assertArgCount_(m, 3);
- {
- IoString *exceptionName = (IoString *)IoMessage_locals_stringArgAt_(m, locals, 0);
- IoExceptionCatch *eCatch = IoState_pushExceptionCatchWithName_((IoState*)self->tag->state,
- CSTRING(exceptionName));
-
- TInt r = 0;
- TRAP(r, result = (IoValue*)IoMessage_locals_valueArgAt_(m, locals, 1);
- IoState_popExceptionCatch_((IoState*)self->tag->state, eCatch););
-
- if(r != 0)
- {
- IoObject_setSlot_to_((IoObject*)locals, USTRING("exceptionName"), eCatch->caughtName);
- if (eCatch->caughtDescription)
- {
- IoObject_setSlot_to_(locals, USTRING("exceptionDescription"),
- eCatch->caughtDescription);
- }
- else
- {
- IoObject_setSlot_to_(locals, USTRING("exceptionDescription"),
- USTRING("<no description>"));
- }
- IoState_popExceptionCatch_((IoState*)self->tag->state, eCatch);
- result = (IoValue*)IoMessage_locals_valueArgAt_(m, locals, 2);
- }
- }
- if (!result) { return IONIL(self); }
- return result;
- }
-
- IoValue *IoState_doCString_(IoState *self, char *s, int debug, char *label)
- {
- IoValue * volatile result = self->ioNil;
- IoExceptionCatch * volatile eCatch = IoState_pushExceptionCatchWithName_(self, "");
- TInt r = 0;
- TRAP(r,
- {
- IoMessage *m = IoMessage_newFromText_label_(self, s, label);
- IoState_stackRetain_(self, (IoValue *)m);
- if (m)
- {
- /*
- IoBlock *block = IoBlock_new(self);
- IoBlock_message_(block, m);
- */
- if (debug)
- { IoState_print_(self, "parsed: "); IoMessage_print(m); IoState_print_(self, "\n"); }
- result = (IoValue*)IoMessage_locals_performOn_(m, self->lobby, self->lobby);
- /*result = IoBlock_target_locals_call_(block, self->lobby, self->lobby, m);*/
- while (Scheduler_coroCount(self->scheduler) > 1)
- { IoObject_yield(self->mainActor); }
- }
- });
-
- if(r != 0)
- { IoState_callErrorCallback(self, eCatch->caughtName, eCatch->caughtDescription); }
- IoState_popExceptionCatch_(self, (IoExceptionCatch *)eCatch);
- return (IoValue *)result;
- }
-
- void ProcessUIEvent()
- {
- TRequestStatus status;
- RTimer timer;
- timer.CreateLocal();
- timer.After(status, 10000);
- User::WaitForAnyRequest();
- if(status == KRequestPending)
- {
- TInt error;
- CActiveScheduler::RunIfReady(error, CActive::EPriorityIdle);
- User::WaitForRequest(status);
- }
- timer.Close();
- }
-}
-
-CConsoleControl::CConsoleControl() :
- keyIndex(0),
- clipboardText(0),
- historyCount(0),
- currentHistoryCount(0)
-{
- socketServer.Connect();
- fileServer.Connect();
- memset(historyBuffer, 0, sizeof(historyBuffer));
-}
-
-void CConsoleControl::SetFont(TFontSpec& font) const
-{
- iConsole->SetFontL(font);
-}
-
-void CIoUi::AddControl(CCoeControl* control)
-{
- iControlList.Append(control);
-}
-
-void CIoUi::RemoveControl(CCoeControl* control)
-{
- TInt f = iControlList.Find(control);
- if(f != KErrNotFound)
- {
- iControlList.Remove(f);
- }
-}
-
-CEikButtonGroupContainer* CIoUi::GetCba()
-{
- return CEikButtonGroupContainer::Current();
-}
-
-TUint16* stringToUint16(char const* s, int len = -1)
-{
- if(len == -1)
- {
- len = strlen(s);
- }
- TUint16* buffer = new TUint16[len];
- for(int index = 0; index < len; ++index)
- {
- buffer[index] = s[index];
- }
-
- return buffer;
-}
-
-TPtr16 stringToPtr16(char const* s, int len)
-{
- if(len == -1)
- {
- len = strlen(s);
- }
- return TPtr16(stringToUint16(s, len), len, len);
-}
-
-void MyPrint(void* state, char* s)
-{
- IoState* pVM = (IoState*)state;
- if(IoState_userData(pVM))
- {
- CConsoleControl* control = reinterpret_cast<CConsoleControl*>(IoState_userData(pVM));
- TPtrC ptr(stringToUint16(s), strlen(s));
- control->Print(ptr);
- if(control->clipboardText)
- {
- control->clipboardText->InsertL(control->clipboardText->DocumentLength(), ptr);
- }
- control->Flush();
- }
-}
-
-void MyError(void* pVM, char* s, char* s2)
-{
- MyPrint(pVM, s);
-}
-
-void MyExit(void* pVM)
-{
-}
-
-CConsoleControl* CConsoleControl::NewL(CIoUi* ui, IoState* vm, TRect& rect)
- {
- CConsoleControl* self=new (ELeave) CConsoleControl;
- CleanupStack::PushL(self);
- self->ConstructL(ui, vm, rect);
- self->SetFocus(true);
- CleanupStack::Pop();
- return self;
- }
-
-void CConsoleControl::ConstructL(CIoUi* ui, IoState* vm, TRect& rect)
- {
- pUI = ui;
- pVM = vm;
- IoState_userData_(pVM, this);
- CreateWindowL();
- SetRect(rect);
- EnableDragEvents();
- SetBlank();
-
- iConsole=new(ELeave) CEikConsoleScreen;
- _LIT(KFicl,"Io v20020910");
- TPoint p1 = Position();
- TPoint p2 = PositionRelativeToScreen();
- TSize s = Size();
- iConsole->ConstructL(KFicl, Position(), s, 0, EEikConsWinInPixels);
- iConsole->SetHistorySizeL(100,100);
- iConsole->SetScrollBarVisibilityL(CEikScrollBarFrame::EOff, CEikScrollBarFrame::EOn);
-
- TPtrC fptr(stringToUint16("Swiss"), strlen("Swiss"));
- TFontSpec font(fptr, 120);
- SetFont(font);
-
- }
-
-CConsoleControl::~CConsoleControl()
- {
- fileServer.Close();
- IoState_userData_(pVM, 0);
- delete iConsole;
- pVM = 0;
- }
-
-void CConsoleControl::ActivateL()
- {
- CCoeControl::ActivateL();
- iConsole->SetKeepCursorInSight(TRUE);
- iConsole->DrawCursor();
- iConsole->ConsoleControl()->SetFocus(ETrue, EDrawNow);
- }
-
-TKeyResponse CConsoleControl::OfferKeyEventL(const TKeyEvent& aKeyEvent,TEventCode aType)
- {
- if (aType!=EEventKey)
- return(EKeyWasConsumed);
- TInt aChar=aKeyEvent.iCode;
-
- if(aChar == EKeyEnter)
- {
- Print(TPtrC(stringToUint16("\n"), strlen("\n")));
- Flush();
- keyBuffer[keyIndex] = 0;
- if(strcmp(keyBuffer, "/ec") == 0)
- {
- clipboardText = CPlainText::NewL();
- TInt r = 0;
- TRAP(r, executeClipboard(pVM));
- if(r)
- {
- char buffer[200];
- sprintf(buffer, "Failed: Leave code %d\n", r);
- MyPrint(pVM, buffer);
- }
- CClipboard* cb = CClipboard::NewForWritingLC(fileServer);
- clipboardText->CopyToStoreL(cb->Store(), cb->StreamDictionary(), 0, clipboardText->DocumentLength());
- delete clipboardText;
- clipboardText = 0;
- cb->CommitL();
- CleanupStack::PopAndDestroy();
- }
- else
- {
- TInt r = 0;
- IoState_cliInput(pVM, keyBuffer);
- }
-
-
- if(historyCount == 100)
- {
- delete[] historyBuffer[0];
-
- for(int index = 1; index < 100; ++index)
- {
- historyBuffer[index - 1] = historyBuffer[index];
- }
- historyCount--;
- }
-
- historyBuffer[historyCount] = new char[strlen(keyBuffer) + 1];
- strcpy(historyBuffer[historyCount], keyBuffer);
- historyCount++;
- currentHistoryCount = historyCount;
-
- memset(keyBuffer, 0, sizeof(keyBuffer));
- keyBuffer[0] = 0;
- keyIndex = 0;
- }
- else if(aChar == EKeyBackspace)
- {
- if(keyIndex > 0)
- {
- iConsole->Left(1);
- Print(TPtrC(stringToUint16(" "), strlen(" ")));
- iConsole->Left(1);
- --keyIndex;
- }
- }
- else if(aChar == EKeyLeftArrow)
- {
- if(keyIndex > 0)
- {
- iConsole->Left(1);
- --keyIndex;
- }
- }
- else if(aChar == EKeyRightArrow)
- {
- iConsole->Right(1);
- if(keyBuffer[keyIndex] == 0)
- {
- keyBuffer[keyIndex] = ' ';
- }
- keyIndex++;
- }
- else if(aChar == EKeyUpArrow)
- {
- if(currentHistoryCount > 0)
- {
- strcpy(keyBuffer, historyBuffer[--currentHistoryCount]);
- TPoint pos = iConsole->CursorPos();
- if(keyIndex > 0)
- {
- iConsole->SetCursorPosAbs(TPoint(pos.iX - keyIndex , pos.iY));
- iConsole->ClearToEndOfLine();
- }
-
- iConsole->SetCursorPosAbs(TPoint(pos.iX - keyIndex , pos.iY));
- Print(TPtrC(stringToUint16(keyBuffer)));
- Flush();
- keyIndex = strlen(keyBuffer) + 1;
- }
- }
- else
- {
- char buffer[2];
- buffer[0] = char(aChar);
- buffer[1] = 0;
- Print(TPtrC(stringToUint16(buffer), strlen(buffer)));
- Flush();
- keyBuffer[keyIndex++] = char(aChar);
- }
-
- return(EKeyWasConsumed);
- }
-
-void CConsoleControl::Print(const TDesC& aDes)
-{
- iConsole->Write(aDes);
-}
-
-void CConsoleControl::Flush()
-{
- iConsole->FlushChars();
-}
-
-
-CIoUi::CIoUi(IoState* vm) : pVM(vm), iConsoleControl(0)
- {
- }
-
-void CIoUi::ConstructL()
- {
- BaseConstructL();
- CreateConsoleL();
- _LIT(KCommands,"\nio v20020925 Started\n\n");
-
- iConsoleControl->Print(KCommands);
- }
-
-void CIoUi::CreateConsoleL()
- {
- TRect rect(ClientRect());
- iConsoleControl=CConsoleControl::NewL(this, pVM, rect);
- IoState_userData_(pVM, iConsoleControl);
- AddToStackL(iConsoleControl);
- iConsoleControl->ActivateL();
- }
-
-CIoUi::~CIoUi()
- {
- delete(iConsoleControl);
- }
-
-void CIoUi::HandleCommandL(TInt aCommand)
- {
- switch (aCommand)
- {
- case EEikCmdExit:
- OnExitCommand();
- break;
- default:;
- }
- }
-
-void CIoUi::DynInitMenuPaneL(TInt resourceID, CEikMenuPane* pane)
-{
- if(resourceID == R_CONS_EXTEND_MENU)
- {
- // What to do here
- }
-}
-
-void CIoUi::MakeVisible(CCoeControl* control)
-{
- if(iConsoleControl->IsVisible())
- {
- if(iControlList.Count() > 0)
- {
- iConsoleControl->MakeVisible(false);
- RemoveFromStack(iConsoleControl);
- control->MakeVisible(true);
- AddToStackL(control);
- }
- }
- else
- {
- int count = iControlList.Count();
- for(int i = 0; i < count; ++i)
- {
- if(iControlList[i]->IsVisible())
- {
- iControlList[i]->MakeVisible(false);
- RemoveFromStack(iControlList[i]);
- }
- }
- control->MakeVisible(true);
- AddToStackL(control);
- }
-}
-
-void CIoUi::OnExitCommand()
-{
- Exit();
-}
-
-class CIoDocument : public CEikDocument
- {
-public:
- CIoDocument(CEikApplication& aApp);
- static CIoDocument* NewL(CEikApplication& aApp);
- ~CIoDocument();
- void ConstructL();
-private:
- // Override CApaDocument
- CEikAppUi* CreateAppUiL();
-private:
- IoState* pState;
- };
-
-CIoDocument::CIoDocument(CEikApplication& aApp)
- : CEikDocument(aApp), pState(0)
-{
-}
-
-CIoDocument* CIoDocument::NewL(CEikApplication& aApp)
- {
- CIoDocument* self=new (ELeave) CIoDocument(aApp);
- CleanupStack::PushL(self);
- self->ConstructL();
- CleanupStack::Pop();
- return self;
- }
-
-void CIoDocument::ConstructL()
- {
- pState = IoState_new();
- IoState_userData_(pState, 0);
- IoState_printCallback_(pState, MyPrint);
- IoState_errorCallback_(pState, MyError);
- IoState_exitCallback_(pState, MyExit);
- IoState_pauseGarbageCollector(pState);
- initSocketAddons(pState);
- IoState_resumeGarbageCollector(pState);
-
- }
-
-CIoDocument::~CIoDocument()
- {
- IoState_free(pState);
- }
-
-CEikAppUi* CIoDocument::CreateAppUiL()
- {
- return(new(ELeave) CIoUi(pState));
- }
-
-class CIoApplication : public CEikApplication
- {
-private: // from CApaApplication
- CApaDocument* CreateDocumentL();
- TUid AppDllUid() const;
- };
-
-TUid CIoApplication::AppDllUid() const
- {
-#ifdef _UNICODE
-const TUid KUidFiclApp = {0x10004854};
-#else
-const TUid KUidFiclApp = {0x10004850};
-#endif
-
- return(KUidFiclApp);
- }
-
-CApaDocument* CIoApplication::CreateDocumentL()
- {
- return CIoDocument::NewL(*this);
- }
-
-EXPORT_C CApaApplication* NewApplication()
- {
- return(new CIoApplication);
- }
-
-GLDEF_C TInt E32Dll(TDllReason)
- {
- return(KErrNone);
- }
-
-TPtr8* narrowTptr16(RFs& fs, TPtr16* p16, int delete16)
-{
- CCnvCharacterSetConverter* converter = CCnvCharacterSetConverter::NewL();
- converter->PrepareToConvertToOrFromL(KCharacterSetIdentifierAscii, fs);
-
-
- TPtrC16 originalText(*p16);
- TInt length = originalText.Length() * 3;
- TUint8* finalBuffer = new TUint8[length + 1];
- memset(finalBuffer, 0, length + 1);
- TInt currentIndex = 0;
-
- TBuf8<100> tempBuffer;
-
- TInt result = converter->ConvertFromUnicode(tempBuffer, originalText);
- if(tempBuffer.Length() >= length)
- {
- TUint8* newBuffer = new TUint8[length * 2];
- memset(newBuffer, 0, length * 2);
- memcpy(newBuffer, finalBuffer, length);
- length = length * 2;
- delete[] finalBuffer;
- finalBuffer = newBuffer;
- }
-
- strncpy((char*)finalBuffer + currentIndex, (char*)tempBuffer.Ptr(), tempBuffer.Length());
- currentIndex += tempBuffer.Length();
-
- while(result > 0)
- {
- originalText.Set(originalText.Right(result));
- result = converter->ConvertFromUnicode(tempBuffer, originalText);
- if(currentIndex + tempBuffer.Length() >= length)
- {
- TUint8* newBuffer = new TUint8[length * 2];
- memset(newBuffer, 0, length * 2);
- memcpy(newBuffer, finalBuffer, length);
- length = length * 2;
- delete[] finalBuffer;
- finalBuffer = newBuffer;
- }
-
- strncpy((char*)finalBuffer + currentIndex, (char*)tempBuffer.Ptr(), tempBuffer.Length());
- currentIndex += tempBuffer.Length();
- }
-
- if(delete16 != 0)
- {
- delete p16;
- }
-
- delete converter;
-
- return new TPtr8(finalBuffer, currentIndex, length);
-}
-
-void executeClipboard(IoState* pVM)
-{
- RFs& fs = ((CConsoleControl*)IoState_userData(pVM))->fileServer;
- CClipboard* cb = CClipboard::NewForReadingL(fs);
- TStreamId id = (cb->StreamDictionary()).At(KClipboardUidTypePlainText);
- if(id == KNullStreamId)
- {
- MyPrint(pVM, "Clipboard execution failed\n");
- }
-
- CPlainText* ptext = CPlainText::NewL();
- ptext->PasteFromStoreL(cb->Store(), cb->StreamDictionary(), 0);
- TUint16 *buffer = new TUint16[ptext->DocumentLength()];
- TPtr16 *text = new TPtr16(buffer, ptext->DocumentLength());
- ptext->Extract(*text);
-
- TPtr8* ptr8 = narrowTptr16(fs, text, 1);
- delete[] buffer;
-
- char* ctext = new char[ptr8->Length() + 1];
- for(int index = 0; index < ptr8->Length(); ++index)
- {
- if((*ptr8)[index] == '\t' ||
- (*ptr8)[index] == 26)
- ctext[index] = ' ';
- else
- ctext[index] = (*ptr8)[index];
- }
- ctext[ptr8->Length()] = 0;
- IoState_cliInput(pVM, ctext);
-
- delete cb;
- delete[] ctext;
- delete ptr8;
-}
-
+#include <e32base.h>
+#include <eikappui.h>
+#include <eikapp.h>
+#include <e32cons.h>
+#include <eikconso.h>
+#include <eikdoc.h>
+#include <baclipb.h>
+#include <s32std.h>
+#include <string.h>
+#include <txtetext.h>
+#include <txtrich.h>
+#include <charconv.h>
+#include <coecobs.h>
+#include <eikbtgpc.h>
+#include <eikenv.h>
+#include <io.rsg>
+
+extern "C"
+{
+#include "IoState.h"
+#include "IoNIL.h"
+#include "IoMessage.h"
+#include "IoNumber.h"
+}
+
+#include "SymbianSockets.h"
+#include "SymbianMain.h"
+
+class CConsoleControl;
+
+void executeClipboard(IoState* state);
+
+extern "C"
+{
+ void* init_thread_globals();
+
+ struct thread_globals* get_thread_globals()
+ {
+ return (struct thread_globals*)Dll::Tls();
+ }
+
+ void Scheduler_current_(Scheduler* s)
+ {
+ Dll::SetTls(s);
+ }
+
+ Scheduler *Scheduler_current(void)
+ {
+ return (Scheduler*)Dll::Tls();
+ }
+
+
+ IoMessage *IoMessage_newFromText_label_(void *state, char *text, char *label);
+ int IoObject_activeCoroutineCount(void) ;
+ void IoObject_yield(IoObject *self);
+
+ void IoExceptionCatch_jump(IoExceptionCatch *self)
+ {
+ User::Leave(1);
+ }
+
+ IoValue *IoObject_catchException(IoObject *self, IoObject *locals, IoMessage *m)
+ {
+ IoValue *result;
+ IoMessage_assertArgCount_(m, 3);
+ {
+ IoString *exceptionName = (IoString *)IoMessage_locals_stringArgAt_(m, locals, 0);
+ IoExceptionCatch *eCatch = IoState_pushExceptionCatchWithName_((IoState*)self->tag->state,
+ CSTRING(exceptionName));
+
+ TInt r = 0;
+ TRAP(r, result = (IoValue*)IoMessage_locals_valueArgAt_(m, locals, 1);
+ IoState_popExceptionCatch_((IoState*)self->tag->state, eCatch););
+
+ if(r != 0)
+ {
+ IoObject_setSlot_to_((IoObject*)locals, USTRING("exceptionName"), eCatch->caughtName);
+ if (eCatch->caughtDescription)
+ {
+ IoObject_setSlot_to_(locals, USTRING("exceptionDescription"),
+ eCatch->caughtDescription);
+ }
+ else
+ {
+ IoObject_setSlot_to_(locals, USTRING("exceptionDescription"),
+ USTRING("<no description>"));
+ }
+ IoState_popExceptionCatch_((IoState*)self->tag->state, eCatch);
+ result = (IoValue*)IoMessage_locals_valueArgAt_(m, locals, 2);
+ }
+ }
+ if (!result) { return IONIL(self); }
+ return result;
+ }
+
+ IoValue *IoState_doCString_(IoState *self, char *s, int debug, char *label)
+ {
+ IoValue * volatile result = self->ioNil;
+ IoExceptionCatch * volatile eCatch = IoState_pushExceptionCatchWithName_(self, "");
+ TInt r = 0;
+ TRAP(r,
+ {
+ IoMessage *m = IoMessage_newFromText_label_(self, s, label);
+ IoState_stackRetain_(self, (IoValue *)m);
+ if (m)
+ {
+ /*
+ IoBlock *block = IoBlock_new(self);
+ IoBlock_message_(block, m);
+ */
+ if (debug)
+ { IoState_print_(self, "parsed: "); IoMessage_print(m); IoState_print_(self, "\n"); }
+ result = (IoValue*)IoMessage_locals_performOn_(m, self->lobby, self->lobby);
+ /*result = IoBlock_target_locals_call_(block, self->lobby, self->lobby, m);*/
+ while (Scheduler_coroCount(self->scheduler) > 1)
+ { IoObject_yield(self->mainActor); }
+ }
+ });
+
+ if(r != 0)
+ { IoState_callErrorCallback(self, eCatch->caughtName, eCatch->caughtDescription); }
+ IoState_popExceptionCatch_(self, (IoExceptionCatch *)eCatch);
+ return (IoValue *)result;
+ }
+
+ void ProcessUIEvent()
+ {
+ TRequestStatus status;
+ RTimer timer;
+ timer.CreateLocal();
+ timer.After(status, 10000);
+ User::WaitForAnyRequest();
+ if(status == KRequestPending)
+ {
+ TInt error;
+ CActiveScheduler::RunIfReady(error, CActive::EPriorityIdle);
+ User::WaitForRequest(status);
+ }
+ timer.Close();
+ }
+}
+
+CConsoleControl::CConsoleControl() :
+ keyIndex(0),
+ clipboardText(0),
+ historyCount(0),
+ currentHistoryCount(0)
+{
+ socketServer.Connect();
+ fileServer.Connect();
+ memset(historyBuffer, 0, sizeof(historyBuffer));
+}
+
+void CConsoleControl::SetFont(TFontSpec& font) const
+{
+ iConsole->SetFontL(font);
+}
+
+void CIoUi::AddControl(CCoeControl* control)
+{
+ iControlList.Append(control);
+}
+
+void CIoUi::RemoveControl(CCoeControl* control)
+{
+ TInt f = iControlList.Find(control);
+ if(f != KErrNotFound)
+ {
+ iControlList.Remove(f);
+ }
+}
+
+CEikButtonGroupContainer* CIoUi::GetCba()
+{
+ return CEikButtonGroupContainer::Current();
+}
+
+TUint16* stringToUint16(char const* s, int len = -1)
+{
+ if(len == -1)
+ {
+ len = strlen(s);
+ }
+ TUint16* buffer = new TUint16[len];
+ for(int index = 0; index < len; ++index)
+ {
+ buffer[index] = s[index];
+ }
+
+ return buffer;
+}
+
+TPtr16 stringToPtr16(char const* s, int len)
+{
+ if(len == -1)
+ {
+ len = strlen(s);
+ }
+ return TPtr16(stringToUint16(s, len), len, len);
+}
+
+void MyPrint(void* state, char* s)
+{
+ IoState* pVM = (IoState*)state;
+ if(IoState_userData(pVM))
+ {
+ CConsoleControl* control = reinterpret_cast<CConsoleControl*>(IoState_userData(pVM));
+ TPtrC ptr(stringToUint16(s), strlen(s));
+ control->Print(ptr);
+ if(control->clipboardText)
+ {
+ control->clipboardText->InsertL(control->clipboardText->DocumentLength(), ptr);
+ }
+ control->Flush();
+ }
+}
+
+void MyError(void* pVM, char* s, char* s2)
+{
+ MyPrint(pVM, s);
+}
+
+void MyExit(void* pVM)
+{
+}
+
+CConsoleControl* CConsoleControl::NewL(CIoUi* ui, IoState* vm, TRect& rect)
+ {
+ CConsoleControl* self=new (ELeave) CConsoleControl;
+ CleanupStack::PushL(self);
+ self->ConstructL(ui, vm, rect);
+ self->SetFocus(true);
+ CleanupStack::Pop();
+ return self;
+ }
+
+void CConsoleControl::ConstructL(CIoUi* ui, IoState* vm, TRect& rect)
+ {
+ pUI = ui;
+ pVM = vm;
+ IoState_userData_(pVM, this);
+ CreateWindowL();
+ SetRect(rect);
+ EnableDragEvents();
+ SetBlank();
+
+ iConsole=new(ELeave) CEikConsoleScreen;
+ _LIT(KFicl,"Io v20020910");
+ TPoint p1 = Position();
+ TPoint p2 = PositionRelativeToScreen();
+ TSize s = Size();
+ iConsole->ConstructL(KFicl, Position(), s, 0, EEikConsWinInPixels);
+ iConsole->SetHistorySizeL(100,100);
+ iConsole->SetScrollBarVisibilityL(CEikScrollBarFrame::EOff, CEikScrollBarFrame::EOn);
+
+ TPtrC fptr(stringToUint16("Swiss"), strlen("Swiss"));
+ TFontSpec font(fptr, 120);
+ SetFont(font);
+
+ }
+
+CConsoleControl::~CConsoleControl()
+ {
+ fileServer.Close();
+ IoState_userData_(pVM, 0);
+ delete iConsole;
+ pVM = 0;
+ }
+
+void CConsoleControl::ActivateL()
+ {
+ CCoeControl::ActivateL();
+ iConsole->SetKeepCursorInSight(TRUE);
+ iConsole->DrawCursor();
+ iConsole->ConsoleControl()->SetFocus(ETrue, EDrawNow);
+ }
+
+TKeyResponse CConsoleControl::OfferKeyEventL(const TKeyEvent& aKeyEvent,TEventCode aType)
+ {
+ if (aType!=EEventKey)
+ return(EKeyWasConsumed);
+ TInt aChar=aKeyEvent.iCode;
+
+ if(aChar == EKeyEnter)
+ {
+ Print(TPtrC(stringToUint16("\n"), strlen("\n")));
+ Flush();
+ keyBuffer[keyIndex] = 0;
+ if(strcmp(keyBuffer, "/ec") == 0)
+ {
+ clipboardText = CPlainText::NewL();
+ TInt r = 0;
+ TRAP(r, executeClipboard(pVM));
+ if(r)
+ {
+ char buffer[200];
+ sprintf(buffer, "Failed: Leave code %d\n", r);
+ MyPrint(pVM, buffer);
+ }
+ CClipboard* cb = CClipboard::NewForWritingLC(fileServer);
+ clipboardText->CopyToStoreL(cb->Store(), cb->StreamDictionary(), 0, clipboardText->DocumentLength());
+ delete clipboardText;
+ clipboardText = 0;
+ cb->CommitL();
+ CleanupStack::PopAndDestroy();
+ }
+ else
+ {
+ TInt r = 0;
+ IoState_cliInput(pVM, keyBuffer);
+ }
+
+
+ if(historyCount == 100)
+ {
+ delete[] historyBuffer[0];
+
+ for(int index = 1; index < 100; ++index)
+ {
+ historyBuffer[index - 1] = historyBuffer[index];
+ }
+ historyCount--;
+ }
+
+ historyBuffer[historyCount] = new char[strlen(keyBuffer) + 1];
+ strcpy(historyBuffer[historyCount], keyBuffer);
+ historyCount++;
+ currentHistoryCount = historyCount;
+
+ memset(keyBuffer, 0, sizeof(keyBuffer));
+ keyBuffer[0] = 0;
+ keyIndex = 0;
+ }
+ else if(aChar == EKeyBackspace)
+ {
+ if(keyIndex > 0)
+ {
+ iConsole->Left(1);
+ Print(TPtrC(stringToUint16(" "), strlen(" ")));
+ iConsole->Left(1);
+ --keyIndex;
+ }
+ }
+ else if(aChar == EKeyLeftArrow)
+ {
+ if(keyIndex > 0)
+ {
+ iConsole->Left(1);
+ --keyIndex;
+ }
+ }
+ else if(aChar == EKeyRightArrow)
+ {
+ iConsole->Right(1);
+ if(keyBuffer[keyIndex] == 0)
+ {
+ keyBuffer[keyIndex] = ' ';
+ }
+ keyIndex++;
+ }
+ else if(aChar == EKeyUpArrow)
+ {
+ if(currentHistoryCount > 0)
+ {
+ strcpy(keyBuffer, historyBuffer[--currentHistoryCount]);
+ TPoint pos = iConsole->CursorPos();
+ if(keyIndex > 0)
+ {
+ iConsole->SetCursorPosAbs(TPoint(pos.iX - keyIndex , pos.iY));
+ iConsole->ClearToEndOfLine();
+ }
+
+ iConsole->SetCursorPosAbs(TPoint(pos.iX - keyIndex , pos.iY));
+ Print(TPtrC(stringToUint16(keyBuffer)));
+ Flush();
+ keyIndex = strlen(keyBuffer) + 1;
+ }
+ }
+ else
+ {
+ char buffer[2];
+ buffer[0] = char(aChar);
+ buffer[1] = 0;
+ Print(TPtrC(stringToUint16(buffer), strlen(buffer)));
+ Flush();
+ keyBuffer[keyIndex++] = char(aChar);
+ }
+
+ return(EKeyWasConsumed);
+ }
+
+void CConsoleControl::Print(const TDesC& aDes)
+{
+ iConsole->Write(aDes);
+}
+
+void CConsoleControl::Flush()
+{
+ iConsole->FlushChars();
+}
+
+
+CIoUi::CIoUi(IoState* vm) : pVM(vm), iConsoleControl(0)
+ {
+ }
+
+void CIoUi::ConstructL()
+ {
+ BaseConstructL();
+ CreateConsoleL();
+ _LIT(KCommands,"\nio v20020925 Started\n\n");
+
+ iConsoleControl->Print(KCommands);
+ }
+
+void CIoUi::CreateConsoleL()
+ {
+ TRect rect(ClientRect());
+ iConsoleControl=CConsoleControl::NewL(this, pVM, rect);
+ IoState_userData_(pVM, iConsoleControl);
+ AddToStackL(iConsoleControl);
+ iConsoleControl->ActivateL();
+ }
+
+CIoUi::~CIoUi()
+ {
+ delete(iConsoleControl);
+ }
+
+void CIoUi::HandleCommandL(TInt aCommand)
+ {
+ switch (aCommand)
+ {
+ case EEikCmdExit:
+ OnExitCommand();
+ break;
+ default:;
+ }
+ }
+
+void CIoUi::DynInitMenuPaneL(TInt resourceID, CEikMenuPane* pane)
+{
+ if(resourceID == R_CONS_EXTEND_MENU)
+ {
+ // What to do here
+ }
+}
+
+void CIoUi::MakeVisible(CCoeControl* control)
+{
+ if(iConsoleControl->IsVisible())
+ {
+ if(iControlList.Count() > 0)
+ {
+ iConsoleControl->MakeVisible(false);
+ RemoveFromStack(iConsoleControl);
+ control->MakeVisible(true);
+ AddToStackL(control);
+ }
+ }
+ else
+ {
+ int count = iControlList.Count();
+ for(int i = 0; i < count; ++i)
+ {
+ if(iControlList[i]->IsVisible())
+ {
+ iControlList[i]->MakeVisible(false);
+ RemoveFromStack(iControlList[i]);
+ }
+ }
+ control->MakeVisible(true);
+ AddToStackL(control);
+ }
+}
+
+void CIoUi::OnExitCommand()
+{
+ Exit();
+}
+
+class CIoDocument : public CEikDocument
+ {
+public:
+ CIoDocument(CEikApplication& aApp);
+ static CIoDocument* NewL(CEikApplication& aApp);
+ ~CIoDocument();
+ void ConstructL();
+private:
+ // Override CApaDocument
+ CEikAppUi* CreateAppUiL();
+private:
+ IoState* pState;
+ };
+
+CIoDocument::CIoDocument(CEikApplication& aApp)
+ : CEikDocument(aApp), pState(0)
+{
+}
+
+CIoDocument* CIoDocument::NewL(CEikApplication& aApp)
+ {
+ CIoDocument* self=new (ELeave) CIoDocument(aApp);
+ CleanupStack::PushL(self);
+ self->ConstructL();
+ CleanupStack::Pop();
+ return self;
+ }
+
+void CIoDocument::ConstructL()
+ {
+ pState = IoState_new();
+ IoState_userData_(pState, 0);
+ IoState_printCallback_(pState, MyPrint);
+ IoState_errorCallback_(pState, MyError);
+ IoState_exitCallback_(pState, MyExit);
+ IoState_pauseGarbageCollector(pState);
+ initSocketAddons(pState);
+ IoState_resumeGarbageCollector(pState);
+
+ }
+
+CIoDocument::~CIoDocument()
+ {
+ IoState_free(pState);
+ }
+
+CEikAppUi* CIoDocument::CreateAppUiL()
+ {
+ return(new(ELeave) CIoUi(pState));
+ }
+
+class CIoApplication : public CEikApplication
+ {
+private: // from CApaApplication
+ CApaDocument* CreateDocumentL();
+ TUid AppDllUid() const;
+ };
+
+TUid CIoApplication::AppDllUid() const
+ {
+#ifdef _UNICODE
+const TUid KUidFiclApp = {0x10004854};
+#else
+const TUid KUidFiclApp = {0x10004850};
+#endif
+
+ return(KUidFiclApp);
+ }
+
+CApaDocument* CIoApplication::CreateDocumentL()
+ {
+ return CIoDocument::NewL(*this);
+ }
+
+EXPORT_C CApaApplication* NewApplication()
+ {
+ return(new CIoApplication);
+ }
+
+GLDEF_C TInt E32Dll(TDllReason)
+ {
+ return(KErrNone);
+ }
+
+TPtr8* narrowTptr16(RFs& fs, TPtr16* p16, int delete16)
+{
+ CCnvCharacterSetConverter* converter = CCnvCharacterSetConverter::NewL();
+ converter->PrepareToConvertToOrFromL(KCharacterSetIdentifierAscii, fs);
+
+
+ TPtrC16 originalText(*p16);
+ TInt length = originalText.Length() * 3;
+ TUint8* finalBuffer = new TUint8[length + 1];
+ memset(finalBuffer, 0, length + 1);
+ TInt currentIndex = 0;
+
+ TBuf8<100> tempBuffer;
+
+ TInt result = converter->ConvertFromUnicode(tempBuffer, originalText);
+ if(tempBuffer.Length() >= length)
+ {
+ TUint8* newBuffer = new TUint8[length * 2];
+ memset(newBuffer, 0, length * 2);
+ memcpy(newBuffer, finalBuffer, length);
+ length = length * 2;
+ delete[] finalBuffer;
+ finalBuffer = newBuffer;
+ }
+
+ strncpy((char*)finalBuffer + currentIndex, (char*)tempBuffer.Ptr(), tempBuffer.Length());
+ currentIndex += tempBuffer.Length();
+
+ while(result > 0)
+ {
+ originalText.Set(originalText.Right(result));
+ result = converter->ConvertFromUnicode(tempBuffer, originalText);
+ if(currentIndex + tempBuffer.Length() >= length)
+ {
+ TUint8* newBuffer = new TUint8[length * 2];
+ memset(newBuffer, 0, length * 2);
+ memcpy(newBuffer, finalBuffer, length);
+ length = length * 2;
+ delete[] finalBuffer;
+ finalBuffer = newBuffer;
+ }
+
+ strncpy((char*)finalBuffer + currentIndex, (char*)tempBuffer.Ptr(), tempBuffer.Length());
+ currentIndex += tempBuffer.Length();
+ }
+
+ if(delete16 != 0)
+ {
+ delete p16;
+ }
+
+ delete converter;
+
+ return new TPtr8(finalBuffer, currentIndex, length);
+}
+
+void executeClipboard(IoState* pVM)
+{
+ RFs& fs = ((CConsoleControl*)IoState_userData(pVM))->fileServer;
+ CClipboard* cb = CClipboard::NewForReadingL(fs);
+ TStreamId id = (cb->StreamDictionary()).At(KClipboardUidTypePlainText);
+ if(id == KNullStreamId)
+ {
+ MyPrint(pVM, "Clipboard execution failed\n");
+ }
+
+ CPlainText* ptext = CPlainText::NewL();
+ ptext->PasteFromStoreL(cb->Store(), cb->StreamDictionary(), 0);
+ TUint16 *buffer = new TUint16[ptext->DocumentLength()];
+ TPtr16 *text = new TPtr16(buffer, ptext->DocumentLength());
+ ptext->Extract(*text);
+
+ TPtr8* ptr8 = narrowTptr16(fs, text, 1);
+ delete[] buffer;
+
+ char* ctext = new char[ptr8->Length() + 1];
+ for(int index = 0; index < ptr8->Length(); ++index)
+ {
+ if((*ptr8)[index] == '\t' ||
+ (*ptr8)[index] == 26)
+ ctext[index] = ' ';
+ else
+ ctext[index] = (*ptr8)[index];
+ }
+ ctext[ptr8->Length()] = 0;
+ IoState_cliInput(pVM, ctext);
+
+ delete cb;
+ delete[] ctext;
+ delete ptr8;
+}
+
View
150 extras/symbian/symbianmain.h
@@ -1,75 +1,75 @@
-#if !defined(SYMBIANMAIN_H)
-#define SYMBIANMAIN_H
-
-#include <coecntrl.h>
-#include <es_sock.h>
-#include <f32file.h>
-#include <eikappui.h>
-#include <e32des16.h>
-
-class CIoUi;
-class CPlainText;
-class CEikConsoleScreen;
-
-class CConsoleControl : public CCoeControl
- {
- public:
- RFs fileServer;
- RSocketServ socketServer;
- CPlainText* clipboardText;
- CEikConsoleScreen* iConsole; // Standard EIKON console control
- CIoUi* pUI;
-
-public:
- static CConsoleControl* NewL(CIoUi* ui, IoState* vm, TRect& rect);
- ~CConsoleControl();
- void ConstructL(CIoUi* ui, IoState* vm, TRect& rect);
-
- // Override CCoeControl
- TKeyResponse OfferKeyEventL(const TKeyEvent& aKeyEvent,TEventCode aType);
- void ActivateL();
-
- void Print(const TDesC& aDes);
- void Flush();
- void SetFont(TFontSpec& font) const;
-
-protected:
- CConsoleControl();
-
-private:
- IoState* pVM;
- char keyBuffer[1024];
- int keyIndex;
- char* historyBuffer[100];
- int historyCount;
- int currentHistoryCount;
- };
-
-class CIoUi : public CEikAppUi
-{
-public:
- CIoUi(IoState* pVM);
- void ConstructL();
- void CreateConsoleL();
-
- void DynInitMenuPaneL(TInt resourceID, CEikMenuPane* pane);
- void AddControl(CCoeControl* control);
- void RemoveControl(CCoeControl* control);
- void MakeVisible(CCoeControl* control);
- CEikButtonGroupContainer* GetCba();
- ~CIoUi();
-private:
- // Override CEikAppUi
- void HandleCommandL(TInt aCommand);
- void OnExitCommand();
-
-private:
- CConsoleControl* iConsoleControl;
- IoState* pVM;
- RPointerArray<CCoeControl> iControlList;
-};
-
-// Utility functions
-TPtr16 stringToPtr16(char const* s, int len = -1);
-
-#endif
+#if !defined(SYMBIANMAIN_H)
+#define SYMBIANMAIN_H
+
+#include <coecntrl.h>
+#include <es_sock.h>
+#include <f32file.h>
+#include <eikappui.h>
+#include <e32des16.h>
+
+class CIoUi;
+class CPlainText;
+class CEikConsoleScreen;
+
+class CConsoleControl : public CCoeControl
+ {
+ public:
+ RFs fileServer;
+ RSocketServ socketServer;
+ CPlainText* clipboardText;
+ CEikConsoleScreen* iConsole; // Standard EIKON console control
+ CIoUi* pUI;
+
+public:
+ static CConsoleControl* NewL(CIoUi* ui, IoState* vm, TRect& rect);
+ ~CConsoleControl();
+ void ConstructL(CIoUi* ui, IoState* vm, TRect& rect);
+
+ // Override CCoeControl
+ TKeyResponse OfferKeyEventL(const TKeyEvent& aKeyEvent,TEventCode aType);
+ void ActivateL();
+
+ void Print(const TDesC& aDes);
+ void Flush();
+ void SetFont(TFontSpec& font) const;
+
+protected:
+ CConsoleControl();
+
+private:
+ IoState* pVM;
+ char keyBuffer[1024];
+ int keyIndex;
+ char* historyBuffer[100];
+ int historyCount;
+ int currentHistoryCount;
+ };
+
+class CIoUi : public CEikAppUi
+{
+public:
+ CIoUi(IoState* pVM);
+ void ConstructL();
+ void CreateConsoleL();
+
+ void DynInitMenuPaneL(TInt resourceID, CEikMenuPane* pane);
+ void AddControl(CCoeControl* control);
+ void RemoveControl(CCoeControl* control);
+ void MakeVisible(CCoeControl* control);
+ CEikButtonGroupContainer* GetCba();
+ ~CIoUi();
+private:
+ // Override CEikAppUi
+ void HandleCommandL(TInt aCommand);
+ void OnExitCommand();
+
+private:
+ CConsoleControl* iConsoleControl;
+ IoState* pVM;
+ RPointerArray<CCoeControl> iControlList;
+};
+
+// Utility functions
+TPtr16 stringToPtr16(char const* s, int len = -1);
+
+#endif
View
654 extras/win32vc2005/FreeType/FreeType.vcproj
@@ -1,327 +1,327 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="8.00"
- Name="IoFreeType"
- ProjectGUID="{B51BE504-75D4-4251-97F2-E516FED15D83}"
- Keyword="Win32Proj"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="Debug"
- IntermediateDirectory="Debug"
- ConfigurationType="4"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="..\..\..\IoDesktop\FreeType\freetype\include;..\..\..\IoDesktop\FreeType;..\..\..\IoDesktop\FreeType\base;..\..\..\IoVM;..\..\..\IoVM\base;&quot;..\freeglut-2.2.0\include&quot;;..\..\..\IoDesktop\FreeType\freetype\include\freetype"
- PreprocessorDefinitions="WIN32;_DEBUG;_LIB;FREEGLUT_STATIC"
- MinimalRebuild="TRUE"
- BasicRuntimeChecks="3"
- RuntimeLibrary="1"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="FALSE"
- DebugInformationFormat="4"
- DisableSpecificWarnings="4267;4267;4312;4018;4996"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLibrarianTool"
- OutputFile="$(OutDir)/FreeType.lib"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="Release"
- IntermediateDirectory="Release"
- ConfigurationType="4"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="3"
- PreprocessorDefinitions="WIN32;NDEBUG;_LIB"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="TRUE"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLibrarianTool"
- OutputFile="$(OutDir)/FreeType.lib"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
- >
- <File
- RelativePath="..\..\..\IoDesktop\FreeType\FreeTypeErrorCodes.c"
- >
- </File>
- <File
- RelativePath="..\..\..\IoDesktop\FreeType\base\GLFont.c"
- >
- </File>
- <File
- RelativePath="..\..\..\IoDesktop\FreeType\IoFont.c"
- >
- </File>
- <File
- RelativePath="..\..\..\IoDesktop\FreeType\IoFreeTypeInit.c"
- >
- </File>
- </Filter>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
- >
- <File
- RelativePath="..\..\..\IoDesktop\FreeType\FreeTypeErrorCodes.h"
- >
- </File>
- <File
- RelativePath="..\..\..\IoDesktop\FreeType\base\GLFont.h"
- >
- </File>
- <File
- RelativePath="..\..\..\IoDesktop\FreeType\IoFont.h"
- >
- </File>
- </Filter>
- <Filter
- Name="Resource Files"
- Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"
- UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
- >
- </Filter>
- <Filter
- Name="FreeType"
- >
- <File
- RelativePath="..\..\..\IoDesktop\FreeType\freetype\src\autohint\autohint.c"
- >
- </File>
- <File
- RelativePath="..\..\..\IoDesktop\FreeType\freetype\src\bdf\bdf.c"
- >
- </File>
- <File
- RelativePath="..\..\..\IoDesktop\FreeType\freetype\src\cff\cff.c"
- >
- </File>
- <File
- RelativePath="..\..\..\IoDesktop\FreeType\freetype\src\base\ftbase.c"
- >
- </File>
- <File
- RelativePath="..\..\..\IoDesktop\FreeType\freetype\src\cache\ftcache.c"
- >
- </File>
- <File
- RelativePath="..\..\..\IoDesktop\FreeType\freetype\src\base\ftdebug.c"
- >
- </File>
- <File
- RelativePath="..\..\..\IoDesktop\FreeType\freetype\src\base\ftglyph.c"
- >
- </File>
- <File
- RelativePath="..\..\..\IoDesktop\FreeType\freetype\src\base\ftinit.c"
- >
- </File>
- <File
- RelativePath="..\..\..\IoDesktop\FreeType\freetype\src\base\ftmm.c"
- >
- </File>
- <File
- RelativePath="..\..\..\IoDesktop\FreeType\freetype\src\raster\ftraster.c"
- >
- </File>
- <File
- RelativePath="..\..\..\IoDesktop\FreeType\freetype\src\raster\ftrend1.c"
- >
- </File>
- <File
- RelativePath="..\..\..\IoDesktop\FreeType\freetype\src\base\ftsystem.c"
- >
- </File>
- <File
- RelativePath="..\..\..\IoDesktop\FreeType\freetype\src\pcf\pcf.c"
- >
- </File>
- <File
- RelativePath="..\..\..\IoDesktop\FreeType\freetype\src\pfr\pfr.c"
- >
- </File>
- <File
- RelativePath="..\..\..\IoDesktop\FreeType\freetype\src\psaux\psaux.c"
- >
- </File>
- <File
- RelativePath="..\..\..\IoDesktop\FreeType\freetype\src\pshinter\pshinter.c"
- >
- </File>
- <File
- RelativePath="..\..\..\IoDesktop\FreeType\freetype\src\psnames\psmodule.c"
- >
- </File>
- <File
- RelativePath="..\..\..\IoDesktop\FreeType\freetype\src\sfnt\sfnt.c"
- >
- </File>
- <File
- RelativePath="..\..\..\IoDesktop\FreeType\freetype\src\smooth\smooth.c"
- >
- </File>
- <File
- RelativePath="..\..\..\IoDesktop\FreeType\freetype\src\truetype\truetype.c"
- >
- </File>
- <File
- RelativePath="..\..\..\IoDesktop\FreeType\freetype\src\type1\type1.c"
- >
- </File>
- <File
- RelativePath="..\..\..\IoDesktop\FreeType\freetype\src\cid\type1cid.c"
- >
- </File>
- <File
- RelativePath="..\..\..\IoDesktop\FreeType\freetype\src\type42\type42.c"
- >
- </File>
- <File
- RelativePath="..\..\..\IoDesktop\FreeType\freetype\src\winfonts\winfnt.c"
- >
- </File>
- <Filter
- Name="Header"
- >
- <File
- RelativePath="..\..\..\IoDesktop\FreeType\freetype\include\ft2build.h"
- >
- </File>
- <File
- RelativePath="..\..\..\IoDesktop\FreeType\freetype\include\freetype\config\ftconfig.h"
- >
- </File>
- <File
- RelativePath="..\..\..\IoDesktop\FreeType\freetype\include\freetype\config\ftheader.h"
- >
- </File>
- <File
- RelativePath="..\..\..\IoDesktop\FreeType\freetype\include\freetype\config\ftmodule.h"
- >
- </File>
- <File
- RelativePath="..\..\..\IoDesktop\FreeType\freetype\include\freetype\config\ftoption.h"
- >
- </File>
- <File
- RelativePath="..\..\..\IoDesktop\FreeType\freetype\include\freetype\config\ftstdlib.h"
- >
- </File>
- </Filter>
- </Filter>
- <File
- RelativePath=".\ReadMe.txt"
- >
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="IoFreeType"
+ ProjectGUID="{B51BE504-75D4-4251-97F2-E516FED15D83}"
+ Keyword="Win32Proj"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory="Debug"
+ IntermediateDirectory="Debug"
+ ConfigurationType="4"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="..\..\..\IoDesktop\FreeType\freetype\include;..\..\..\IoDesktop\FreeType;..\..\..\IoDesktop\FreeType\base;..\..\..\IoVM;..\..\..\IoVM\base;&quot;..\freeglut-2.2.0\include&quot;;..\..\..\IoDesktop\FreeType\freetype\include\freetype"
+ PreprocessorDefinitions="WIN32;_DEBUG;_LIB;FREEGLUT_STATIC"
+ MinimalRebuild="TRUE"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="FALSE"
+ DebugInformationFormat="4"
+ DisableSpecificWarnings="4267;4267;4312;4018;4996"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="$(OutDir)/FreeType.lib"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory="Release"
+ IntermediateDirectory="Release"
+ ConfigurationType="4"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="3"
+ PreprocessorDefinitions="WIN32;NDEBUG;_LIB"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="TRUE"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="$(OutDir)/FreeType.lib"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+ >
+ <File
+ RelativePath="..\..\..\IoDesktop\FreeType\FreeTypeErrorCodes.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\IoDesktop\FreeType\base\GLFont.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\IoDesktop\FreeType\IoFont.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\IoDesktop\FreeType\IoFreeTypeInit.c"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl;inc;xsd"
+ UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
+ >
+ <File
+ RelativePath="..\..\..\IoDesktop\FreeType\FreeTypeErrorCodes.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\IoDesktop\FreeType\base\GLFont.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\IoDesktop\FreeType\IoFont.h"