From 13d720389a01161a327a30918ad7ac9eec4a3d6c Mon Sep 17 00:00:00 2001 From: Alexis211 Date: Sun, 20 Dec 2009 16:30:30 +0100 Subject: [not tested] Introduced StreamApp.class --- .gitignore | 2 +- Source/Applications/PaperWork/Map.txt | 1316 ----------------------- Source/Kernel/VTManager/FileVT.class.cpp | 2 +- Source/Library/Common/FileStream.class.cpp | 13 +- Source/Library/Common/FileStream.class.h | 2 + Source/Library/Makefile | 1 + Source/Library/Userland/App/ShellApp.proto.cpp | 2 +- Source/Library/Userland/App/ShellApp.proto.h | 2 +- Source/Library/Userland/App/StreamApp.proto.cpp | 39 + Source/Library/Userland/App/StreamApp.proto.h | 27 + 10 files changed, 80 insertions(+), 1326 deletions(-) delete mode 100644 Source/Applications/PaperWork/Map.txt create mode 100644 Source/Library/Userland/App/StreamApp.proto.cpp create mode 100644 Source/Library/Userland/App/StreamApp.proto.h diff --git a/.gitignore b/.gitignore index 33af76c..cf64fc2 100644 --- a/.gitignore +++ b/.gitignore @@ -2,7 +2,7 @@ *.o *.uo Init.rfs -Source/Kernel/Map.txt +Map.txt Source/Kernel/Melon.ke Ports Ports/* diff --git a/Source/Applications/PaperWork/Map.txt b/Source/Applications/PaperWork/Map.txt deleted file mode 100644 index d44ef4f..0000000 --- a/Source/Applications/PaperWork/Map.txt +++ /dev/null @@ -1,1316 +0,0 @@ - -Discarded input sections - - .group 0x00000000 0x8 ../../Library/Melon.o - .group 0x00000000 0x8 ../../Library/Melon.o - .group 0x00000000 0x8 ../../Library/Melon.o - .group 0x00000000 0x8 ../../Library/Melon.o - .group 0x00000000 0x8 ../../Library/Melon.o - .group 0x00000000 0x8 ../../Library/Melon.o - .group 0x00000000 0x8 ../../Library/Melon.o - .group 0x00000000 0x8 ../../Library/Melon.o - .group 0x00000000 0x8 ../../Library/Melon.o - .group 0x00000000 0x8 ../../Library/Melon.o - .group 0x00000000 0x8 ../../Library/Melon.o - .group 0x00000000 0x8 ../../Library/Melon.o - .group 0x00000000 0x8 ../../Library/Melon.o - .group 0x00000000 0x8 ../../Library/Melon.o - .group 0x00000000 0x8 ../../Library/Melon.o - .group 0x00000000 0x8 ../../Library/Melon.o - .group 0x00000000 0x8 ../../Library/Melon.o - .group 0x00000000 0x8 ../../Library/Melon.o - .group 0x00000000 0x8 ../../Library/Melon.o - .group 0x00000000 0x8 ../../Library/Melon.o - .group 0x00000000 0x8 ../../Library/Melon.o - .group 0x00000000 0x8 ../../Library/Melon.o - .group 0x00000000 0x8 ../../Library/Melon.o - .group 0x00000000 0x8 ../../Library/Melon.o - .group 0x00000000 0x8 ../../Library/Melon.o - .group 0x00000000 0x8 ../../Library/Melon.o - .group 0x00000000 0x8 ../../Library/Melon.o - .group 0x00000000 0x8 ../../Library/Melon.o - .group 0x00000000 0x8 ../../Library/Melon.o - .group 0x00000000 0x8 ../../Library/Melon.o - .group 0x00000000 0x8 ../../Library/Melon.o - .group 0x00000000 0x8 ../../Library/Melon.o - .group 0x00000000 0x8 ../../Library/Melon.o - .group 0x00000000 0x8 ../../Library/Melon.o - .group 0x00000000 0x8 ../../Library/Melon.o - .group 0x00000000 0x8 ../../Library/Melon.o - .group 0x00000000 0x8 ../../Library/Melon.o - .group 0x00000000 0x8 ../../Library/Melon.o - .group 0x00000000 0x8 ../../Library/Melon.o - .group 0x00000000 0x8 ../../Library/Melon.o - .group 0x00000000 0x8 ../../Library/Melon.o - .group 0x00000000 0x8 ../../Library/Melon.o - .group 0x00000000 0x8 ../../Library/Melon.o - .group 0x00000000 0x8 ../../Library/Melon.o - .group 0x00000000 0x8 ../../Library/Melon.o - .group 0x00000000 0x8 ../../Library/Melon.o - .group 0x00000000 0x8 ../../Library/Melon.o - .group 0x00000000 0x8 ../../Library/Melon.o - .group 0x00000000 0x8 ../../Library/Melon.o - .group 0x00000000 0x8 ../../Library/Melon.o - .group 0x00000000 0x8 ../../Library/Melon.o - .group 0x00000000 0x8 ../../Library/Melon.o - .group 0x00000000 0x8 ../../Library/Melon.o - .group 0x00000000 0x8 ../../Library/Melon.o - .group 0x00000000 0x8 ../../Library/Melon.o - .group 0x00000000 0x8 ../../Library/Melon.o - .group 0x00000000 0x8 ../../Library/Melon.o - .group 0x00000000 0x8 ../../Library/Melon.o - .group 0x00000000 0x8 ../../Library/Melon.o - .group 0x00000000 0x8 ../../Library/Melon.o - .group 0x00000000 0x8 ../../Library/Melon.o - .group 0x00000000 0x8 ../../Library/Melon.o - .group 0x00000000 0x8 ../../Library/Melon.o - .group 0x00000000 0x8 ../../Library/Melon.o - .group 0x00000000 0x8 ../../Library/Melon.o - .group 0x00000000 0x8 ../../Library/Melon.o - .group 0x00000000 0x8 ../../Library/Melon.o - .group 0x00000000 0x8 ../../Library/Melon.o - .group 0x00000000 0x8 ../../Library/Melon.o - .group 0x00000000 0x8 ../../Library/Melon.o - .group 0x00000000 0x8 ../../Library/Melon.o - .group 0x00000000 0x8 ../../Library/Melon.o - .group 0x00000000 0x8 ../../Library/Melon.o - .group 0x00000000 0x8 ../../Library/Melon.o - .group 0x00000000 0x8 ../../Library/Melon.o - .group 0x00000000 0x8 ../../Library/Melon.o - .group 0x00000000 0x8 ../../Library/Melon.o - .group 0x00000000 0x8 ../../Library/Melon.o - .group 0x00000000 0x8 ../../Library/Melon.o - .group 0x00000000 0x8 ../../Library/Melon.o - .group 0x00000000 0x8 ../../Library/Melon.o - .group 0x00000000 0x8 ../../Library/Melon.o - .group 0x00000000 0x8 ../../Library/Melon.o - .group 0x00000000 0x8 ../../Library/Melon.o - .group 0x00000000 0x8 ../../Library/Melon.o - .group 0x00000000 0x8 ../../Library/Melon.o - .group 0x00000000 0x8 ../../Library/Melon.o - .group 0x00000000 0x8 ../../Library/Melon.o - .group 0x00000000 0x8 ../../Library/Melon.o - .group 0x00000000 0x8 ../../Library/Melon.o - .group 0x00000000 0x8 ../../Library/Melon.o - .group 0x00000000 0x8 ../../Library/Melon.o - .group 0x00000000 0x8 ../../Library/Melon.o - .group 0x00000000 0x8 ../../Library/Melon.o - .group 0x00000000 0x8 ../../Library/Melon.o - .group 0x00000000 0x8 ../../Library/Melon.o - .group 0x00000000 0x8 ../../Library/Melon.o - .group 0x00000000 0x8 ../../Library/Melon.o - .group 0x00000000 0x8 ../../Library/Melon.o - .group 0x00000000 0x8 ../../Library/Melon.o - .group 0x00000000 0x8 ../../Library/Melon.o - .group 0x00000000 0x8 ../../Library/Melon.o - .group 0x00000000 0x8 ../../Library/Melon.o - .group 0x00000000 0x8 ../../Library/Melon.o - .group 0x00000000 0x8 ../../Library/Melon.o - .group 0x00000000 0x8 ../../Library/Melon.o - .group 0x00000000 0x8 ../../Library/Melon.o - .group 0x00000000 0x8 ../../Library/Melon.o - .group 0x00000000 0x8 ../../Library/Melon.o - .group 0x00000000 0x8 ../../Library/Melon.o - .group 0x00000000 0x8 ../../Library/Melon.o - .group 0x00000000 0x8 ../../Library/Melon.o - .group 0x00000000 0x8 ../../Library/Melon.o - .group 0x00000000 0x8 ../../Library/Melon.o - .group 0x00000000 0x8 ../../Library/Melon.o - .group 0x00000000 0x8 PaperWork.o - .group 0x00000000 0x8 PaperWork.o - .group 0x00000000 0x8 PaperWork.o - .group 0x00000000 0x8 PaperWork.o - .group 0x00000000 0x8 PaperWork.o - .group 0x00000000 0x8 PaperWork.o - .group 0x00000000 0x8 PaperWork.o - .group 0x00000000 0x8 PaperWork.o - .group 0x00000000 0x8 PaperWork.o - .group 0x00000000 0x8 PaperWork.o - .group 0x00000000 0x8 PaperWork.o - .group 0x00000000 0x8 PaperWork.o - .group 0x00000000 0x8 PaperWork.o - .group 0x00000000 0x8 PaperWork.o - .group 0x00000000 0x8 PaperWork.o - .group 0x00000000 0x8 PaperWork.o - .group 0x00000000 0x8 PaperWork.o - .group 0x00000000 0x8 PaperWork.o - .group 0x00000000 0x8 PaperWork.o - .group 0x00000000 0x8 PaperWork.o - .group 0x00000000 0x8 PaperWork.o - .group 0x00000000 0x8 PaperWork.o - .group 0x00000000 0x8 PaperWork.o - .group 0x00000000 0x8 PaperWork.o - .group 0x00000000 0x8 PaperWork.o - .group 0x00000000 0x8 PaperWork.o - .group 0x00000000 0x8 PaperWork.o - .group 0x00000000 0x8 PaperWork.o - .group 0x00000000 0x8 PaperWork.o - .group 0x00000000 0x8 PaperWork.o - .group 0x00000000 0x8 PaperWork.o - .group 0x00000000 0x8 PaperWork.o - .group 0x00000000 0x8 PaperWork.o - .group 0x00000000 0x8 PaperWork.o - .group 0x00000000 0x8 PaperWork.o - .group 0x00000000 0x8 PaperWork.o - .group 0x00000000 0x8 PaperWork.o - .group 0x00000000 0x8 PaperWork.o - .text._Znaj 0x00000000 0x13 PaperWork.o - .text._ZdlPv 0x00000000 0x13 PaperWork.o - .text._ZN15RessourceCaller5validEv - 0x00000000 0x10 PaperWork.o - .text._ZN5WChareqEj - 0x00000000 0x10 PaperWork.o - .text._ZNK5WCharcvjEv - 0x00000000 0xa PaperWork.o - .text._ZN6StringC1Ev - 0x00000000 0x1c PaperWork.o - .text._ZN6StringC1ERKS_ - 0x00000000 0x23 PaperWork.o - .text._ZN6StringaSERKS_ - 0x00000000 0x1a PaperWork.o - .text._ZNK6StringeqEPKc - 0x00000000 0x22 PaperWork.o - .text._ZN6StringD1Ev - 0x00000000 0x30 PaperWork.o - .text._ZN6StringD0Ev - 0x00000000 0x30 PaperWork.o - .text._ZN7OStreamlsERK6String - 0x00000000 0x59 PaperWork.o - .text._ZN7Process3getEv - 0x00000000 0x5a PaperWork.o - .text._ZN7ProcessC1Ej - 0x00000000 0x22 PaperWork.o - .text._ZN11Application8doEventsEv - 0x00000000 0x5 PaperWork.o - .text._ZN11BasicStringI5WCharEC2Ev - 0x00000000 0x22 PaperWork.o - .text._ZN11BasicStringI5WCharED2Ev - 0x00000000 0x3d PaperWork.o - .text._ZN11BasicStringI5WCharED1Ev - 0x00000000 0x3d PaperWork.o - .text._ZN11BasicStringI5WCharED0Ev - 0x00000000 0x3d PaperWork.o - .text._ZN11BasicStringI5WCharEC2ERKS1_ - 0x00000000 0x2d PaperWork.o - .text._ZN11BasicStringI5WCharE6affectERKS1_ - 0x00000000 0xb8 PaperWork.o - .text._ZNK11BasicStringI5WCharE8containsERKS0_ - 0x00000000 0x5a PaperWork.o - .rodata._ZTV6String - 0x00000000 0x10 PaperWork.o - .rodata._ZTV11BasicStringI5WCharE - 0x00000000 0x10 PaperWork.o - -Memory Configuration - -Name Origin Length Attributes -*default* 0x00000000 0xffffffff - -Linker script and memory map - -LOAD ../../Library/Melon.o - 0x10000000 . = 0x10000000 - -.text 0x10000000 0x66e0 - *(.text) - .text 0x10000000 0x5f9c ../../Library/Melon.o - 0x10000000 WChar::WChar() - 0x1000000e WChar::WChar() - 0x1000001c WChar::WChar(char) - 0x1000003e WChar::WChar(char) - 0x10000060 WChar::WChar(char const*, unsigned char) - 0x100000e6 WChar::WChar(char const*, unsigned char) - 0x1000016c WChar::ucharLen(char const*, unsigned char) - 0x10000298 WChar::utfLen(char const*, unsigned char) - 0x1000030c WChar::affectAscii(char) - 0x1000034c WChar::affectUtf8(char const*) - 0x10000514 WChar::affectUtf16be(char const*) - 0x10000684 WChar::affectUtf16le(char const*) - 0x100007f4 WChar::affectUtf32be(char const*) - 0x10000886 WChar::affectUtf32le(char const*) - 0x10000918 WChar::toAscii() - 0x10000978 WChar::toUtf8() - 0x10000a62 WChar::toUtf32be() - 0x10000a98 WChar::toUtf32le() - 0x10001894 CMem::memcpy(unsigned char*, unsigned char const*, unsigned int) - 0x1000192b CMem::memset(unsigned char*, unsigned char, int) - 0x10001962 CMem::memsetw(unsigned short*, unsigned short, int) - 0x1000199d CMem::strlen(char const*) - 0x100019cc atomic_exchange(unsigned int*, unsigned int) - 0x100019e4 Mutex::Mutex(unsigned int) - 0x100019f2 Mutex::Mutex(unsigned int) - 0x10001a00 Mutex::lock() - 0x10001a32 Mutex::waitLock() - 0x10001a7a Mutex::unlock() - 0x10001a88 Mutex::locked() - 0x10001a98 Heap::Heap() - 0x10001ae2 Heap::Heap() - 0x10001b2c Heap::~Heap() - 0x10001b32 Heap::~Heap() - 0x10001b38 Heap::create(unsigned int, unsigned int, unsigned int) - 0x10001c5e Heap::expand(unsigned int) - 0x10001d86 Heap::contract() - 0x10001ea4 Heap::alloc(unsigned int, bool) - 0x10002060 Heap::free(void*) - 0x100021fc Heap::insertIntoIndex(heap_header_t*) - 0x10002324 Heap::findIndexEntry(heap_header_t*) - 0x10002368 Heap::removeFromIndex(unsigned int) - 0x100023b6 Heap::removeFromIndex(heap_header_t*) - 0x100023ec String::hex(unsigned int) - 0x10002500 String::number(int) - 0x100026f0 String::unserialize(unsigned int) - 0x100027ae String::serialize() const - 0x10002824 String::String(char const*, unsigned char) - 0x10002874 String::String(char const*, unsigned char) - 0x100028c4 String::affect(char const*, unsigned char) - 0x100029e8 String::compare(char const*, unsigned char) const - 0x10002abe String::append(char const*, unsigned char) - 0x10002c32 String::concat(String const&) const - 0x10002c88 String::concat(char const*, unsigned char) const - 0x10002cec String::concat(WChar) const - 0x10002d42 String::toInt() const - 0x10002e44 String::toInt16() const - 0x10002f44 String::split(WChar) const - 0x1000304a String::substr(int, int) - 0x10003188 TextFile::write(String, bool) - 0x100031f6 TextFile::readLine(char) - 0x10003350 ByteArray::ByteArray(char const*) - 0x1000339c ByteArray::ByteArray(char const*) - 0x100033e8 ByteArray::affect(String const&, unsigned char) - 0x100035ea ByteArray::resize(unsigned int) - 0x100036d0 ByteArray::toString(unsigned char) - 0x10003770 Rand::rand() - 0x1000380d Rand::max() - 0x1000381c OStream::OStream() - 0x10003858 OStream::OStream() - 0x10003894 OStream::OStream(OStream const&) - 0x100038d0 OStream::OStream(OStream const&) - 0x1000390c OStream::put(String const&) - 0x100039a2 OStream::flush() - 0x10003b4a OStream::operator<<(ostream_modifiers_e) - 0x10003bf4 IStream::IStream() - 0x10003c36 IStream::IStream() - 0x10003c78 IStream::IStream(IStream const&) - 0x10003cb4 IStream::IStream(IStream const&) - 0x10003cf0 IStream::~IStream() - 0x10003d34 IStream::~IStream() - 0x10003d78 IStream::~IStream() - 0x10003dbc IStream::populate() - 0x10003e76 IStream::getChar() - 0x10003f6e IStream::get(WChar) - 0x10004164 __cxa_pure_virtual - 0x10004169 __cxa_atexit - 0x10004173 memmove - 0x10004197 __udivdi3 - 0x100041dd __umoddi3 - 0x1000422c ShellApp::ShellApp(String, String) - 0x100043dc ShellApp::ShellApp(String, String) - 0x1000458c ShellApp::~ShellApp() - 0x10004626 ShellApp::~ShellApp() - 0x100046c0 ShellApp::~ShellApp() - 0x1000475a ShellApp::init() - 0x100058fa ShellApp::getFlag(String) - 0x1000596e ShellApp::addFlag(WChar, String, String, int, String) - 0x10005a7c ShellApp::sFlag(String) - 0x10005b22 ShellApp::iFlag(String) - 0x10005b82 ShellApp::bFlag(String) - 0x10005be4 syscall(unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int) - 0x10005c0f threadFinishedSyscall(unsigned int) - 0x10005c19 breakPoint() - 0x10005c1f putch(char) - 0x10005c67 sleep(unsigned int) - 0x10005ca2 write_hex(unsigned int) - 0x10005ce0 RessourceCaller::RessourceCaller(unsigned int, unsigned int) - 0x10005d50 RessourceCaller::RessourceCaller(unsigned int, unsigned int) - 0x10005dc0 RessourceCaller::sCall(unsigned int, unsigned char, unsigned int, unsigned int, unsigned int, unsigned int) - 0x10005e06 RessourceCaller::doCall(unsigned char, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int) - 0x10005e68 start - 0x10005f49 Mem::alloc(unsigned int) - 0x10005f6d Mem::free(void*) - 0x10005f89 Mem::mkXchgSpace(unsigned int) - .text 0x10005f9c 0x744 PaperWork.o - 0x10005f9c PaperWork::run() - -.text._ZN5WChareqEj - 0x100066e0 0x10 - .text._ZN5WChareqEj - 0x100066e0 0x10 ../../Library/Melon.o - 0x100066e0 WChar::operator==(unsigned int) - -.text._ZNK5WCharcvjEv - 0x100066f0 0xa - .text._ZNK5WCharcvjEv - 0x100066f0 0xa ../../Library/Melon.o - 0x100066f0 WChar::operator unsigned int() const - -.text._ZN6Thread3getEv - 0x100066fa 0x5a - .text._ZN6Thread3getEv - 0x100066fa 0x5a ../../Library/Melon.o - 0x100066fa Thread::get() - -.text._ZN6ThreadC1Ej - 0x10006754 0x22 - .text._ZN6ThreadC1Ej - 0x10006754 0x22 ../../Library/Melon.o - 0x10006754 Thread::Thread(unsigned int) - -.text._ZN6Thread5sleepEj - 0x10006776 0x42 - .text._ZN6Thread5sleepEj - 0x10006776 0x42 ../../Library/Melon.o - 0x10006776 Thread::sleep(unsigned int) - -.text._ZN7Process3getEv - 0x100067b8 0x5a - .text._ZN7Process3getEv - 0x100067b8 0x5a ../../Library/Melon.o - 0x100067b8 Process::get() - -.text._ZN7ProcessC1Ej - 0x10006812 0x22 - .text._ZN7ProcessC1Ej - 0x10006812 0x22 ../../Library/Melon.o - 0x10006812 Process::Process(unsigned int) - -.text._ZN7Process10allocPagesEjj - 0x10006834 0x41 - .text._ZN7Process10allocPagesEjj - 0x10006834 0x41 ../../Library/Melon.o - 0x10006834 Process::allocPages(unsigned int, unsigned int) - -.text._ZN7Process9freePagesEjj - 0x10006876 0x41 - .text._ZN7Process9freePagesEjj - 0x10006876 0x41 ../../Library/Melon.o - 0x10006876 Process::freePages(unsigned int, unsigned int) - -.text._ZnwjPv 0x100068b7 0x8 - .text._ZnwjPv 0x100068b7 0x8 ../../Library/Melon.o - 0x100068b7 operator new(unsigned int, void*) - -.text._Znaj 0x100068bf 0x13 - .text._Znaj 0x100068bf 0x13 ../../Library/Melon.o - 0x100068bf operator new[](unsigned int) - -.text._ZdlPv 0x100068d2 0x13 - .text._ZdlPv 0x100068d2 0x13 ../../Library/Melon.o - 0x100068d2 operator delete(void*) - -.text._ZdaPv 0x100068e5 0x13 - .text._ZdaPv 0x100068e5 0x13 ../../Library/Melon.o - 0x100068e5 operator delete[](void*) - -.text._ZN5WChar6affectEPKch - 0x100068f8 0xb0 - .text._ZN5WChar6affectEPKch - 0x100068f8 0xb0 ../../Library/Melon.o - 0x100068f8 WChar::affect(char const*, unsigned char) - -.text._ZN5WCharaSEj - 0x100069a8 0x10 - .text._ZN5WCharaSEj - 0x100069a8 0x10 ../../Library/Melon.o - 0x100069a8 WChar::operator=(unsigned int) - -.text._ZN6StringC1Ev - 0x100069b8 0x1c - .text._ZN6StringC1Ev - 0x100069b8 0x1c ../../Library/Melon.o - 0x100069b8 String::String() - -.text._ZN6StringC1ERKS_ - 0x100069d4 0x23 - .text._ZN6StringC1ERKS_ - 0x100069d4 0x23 ../../Library/Melon.o - 0x100069d4 String::String(String const&) - -.text._ZN6StringpLERKS_ - 0x100069f8 0x1d - .text._ZN6StringpLERKS_ - 0x100069f8 0x1d ../../Library/Melon.o - 0x100069f8 String::operator+=(String const&) - -.text._ZN6StringpLE5WChar - 0x10006a16 0x1d - .text._ZN6StringpLE5WChar - 0x10006a16 0x1d ../../Library/Melon.o - 0x10006a16 String::operator+=(WChar) - -.text._ZN6StringD1Ev - 0x10006a34 0x30 - .text._ZN6StringD1Ev - 0x10006a34 0x30 ../../Library/Melon.o - 0x10006a34 String::~String() - -.text._ZN6StringD0Ev - 0x10006a64 0x30 - .text._ZN6StringD0Ev - 0x10006a64 0x30 ../../Library/Melon.o - 0x10006a64 String::~String() - -.text._ZN11BasicStringI5WCharEC2Ev - 0x10006a94 0x22 - .text._ZN11BasicStringI5WCharEC2Ev - 0x10006a94 0x22 ../../Library/Melon.o - 0x10006a94 BasicString::BasicString() - -.text._ZN11BasicStringI5WCharED2Ev - 0x10006ab6 0x3d - .text._ZN11BasicStringI5WCharED2Ev - 0x10006ab6 0x3d ../../Library/Melon.o - 0x10006ab6 BasicString::~BasicString() - -.text._ZN11BasicStringI5WCharED1Ev - 0x10006af4 0x3d - .text._ZN11BasicStringI5WCharED1Ev - 0x10006af4 0x3d ../../Library/Melon.o - 0x10006af4 BasicString::~BasicString() - -.text._ZN11BasicStringI5WCharED0Ev - 0x10006b32 0x3d - .text._ZN11BasicStringI5WCharED0Ev - 0x10006b32 0x3d ../../Library/Melon.o - 0x10006b32 BasicString::~BasicString() - -.text._ZN11BasicStringI5WCharEC2ERKS1_ - 0x10006b70 0x2d - .text._ZN11BasicStringI5WCharEC2ERKS1_ - 0x10006b70 0x2d ../../Library/Melon.o - 0x10006b70 BasicString::BasicString(BasicString const&) - -.text._ZN11BasicStringI5WCharE6affectERKS1_ - 0x10006b9e 0xb8 - .text._ZN11BasicStringI5WCharE6affectERKS1_ - 0x10006b9e 0xb8 ../../Library/Melon.o - 0x10006b9e BasicString::affect(BasicString const&) - -.text._ZN11BasicStringI5WCharE6appendERKS1_ - 0x10006c56 0x105 - .text._ZN11BasicStringI5WCharE6appendERKS1_ - 0x10006c56 0x105 ../../Library/Melon.o - 0x10006c56 BasicString::append(BasicString const&) - -.text._ZN11BasicStringI5WCharE6appendES0_ - 0x10006d5c 0xd2 - .text._ZN11BasicStringI5WCharE6appendES0_ - 0x10006d5c 0xd2 ../../Library/Melon.o - 0x10006d5c BasicString::append(WChar) - -.text._ZNK11BasicStringI5WCharEixEi - 0x10006e2e 0x13 - .text._ZNK11BasicStringI5WCharEixEi - 0x10006e2e 0x13 ../../Library/Melon.o - 0x10006e2e BasicString::operator[](int) const - -.text._ZN6VectorI6StringEC1Ev - 0x10006e42 0x18 - .text._ZN6VectorI6StringEC1Ev - 0x10006e42 0x18 ../../Library/Melon.o - 0x10006e42 Vector::Vector() - -.text._ZN6VectorI6StringE4pushERKS0_ - 0x10006e5a 0xb8 - .text._ZN6VectorI6StringE4pushERKS0_ - 0x10006e5a 0xb8 ../../Library/Melon.o - 0x10006e5a Vector::push(String const&) - -.text._ZNK6VectorI6StringE4backEv - 0x10006f12 0x1f - .text._ZNK6VectorI6StringE4backEv - 0x10006f12 0x1f ../../Library/Melon.o - 0x10006f12 Vector::back() const - -.text._ZN15RessourceCaller5validEv - 0x10006f32 0x10 - .text._ZN15RessourceCaller5validEv - 0x10006f32 0x10 ../../Library/Melon.o - 0x10006f32 RessourceCaller::valid() - -.text._ZN9ByteArrayC1Ev - 0x10006f42 0x1c - .text._ZN9ByteArrayC1Ev - 0x10006f42 0x1c ../../Library/Melon.o - 0x10006f42 ByteArray::ByteArray() - -.text._ZN9ByteArrayC1ERK6Stringh - 0x10006f5e 0x3c - .text._ZN9ByteArrayC1ERK6Stringh - 0x10006f5e 0x3c ../../Library/Melon.o - 0x10006f5e ByteArray::ByteArray(String const&, unsigned char) - -.text._ZN9ByteArraycvPhEv - 0x10006f9a 0xb - .text._ZN9ByteArraycvPhEv - 0x10006f9a 0xb ../../Library/Melon.o - 0x10006f9a ByteArray::operator unsigned char*() - -.text._ZN4File4readEjPh - 0x10006fa6 0x41 - .text._ZN4File4readEjPh - 0x10006fa6 0x41 ../../Library/Melon.o - 0x10006fa6 File::read(unsigned int, unsigned char*) - -.text._ZN4File5writeEjPh - 0x10006fe8 0x46 - .text._ZN4File5writeEjPh - 0x10006fe8 0x46 ../../Library/Melon.o - 0x10006fe8 File::write(unsigned int, unsigned char*) - -.text._ZN4File4readER9ByteArray - 0x1000702e 0x89 - .text._ZN4File4readER9ByteArray - 0x1000702e 0x89 ../../Library/Melon.o - 0x1000702e File::read(ByteArray&) - -.text._ZN4File5writeER9ByteArray - 0x100070b8 0x51 - .text._ZN4File5writeER9ByteArray - 0x100070b8 0x51 ../../Library/Melon.o - 0x100070b8 File::write(ByteArray&) - -.text._ZN4File4seekEyh - 0x1000710a 0x77 - .text._ZN4File4seekEyh - 0x1000710a 0x77 ../../Library/Melon.o - 0x1000710a File::seek(unsigned long long, unsigned char) - -.text._ZN9ByteArrayD1Ev - 0x10007182 0x30 - .text._ZN9ByteArrayD1Ev - 0x10007182 0x30 ../../Library/Melon.o - 0x10007182 ByteArray::~ByteArray() - -.text._ZN9ByteArrayD0Ev - 0x100071b2 0x30 - .text._ZN9ByteArrayD0Ev - 0x100071b2 0x30 ../../Library/Melon.o - 0x100071b2 ByteArray::~ByteArray() - -.text._ZN11BasicStringIhEC2Ev - 0x100071e2 0x22 - .text._ZN11BasicStringIhEC2Ev - 0x100071e2 0x22 ../../Library/Melon.o - 0x100071e2 BasicString::BasicString() - -.text._ZN11BasicStringIhED2Ev - 0x10007204 0x3d - .text._ZN11BasicStringIhED2Ev - 0x10007204 0x3d ../../Library/Melon.o - 0x10007204 BasicString::~BasicString() - -.text._ZN11BasicStringIhED1Ev - 0x10007242 0x3d - .text._ZN11BasicStringIhED1Ev - 0x10007242 0x3d ../../Library/Melon.o - 0x10007242 BasicString::~BasicString() - -.text._ZN11BasicStringIhED0Ev - 0x10007280 0x3d - .text._ZN11BasicStringIhED0Ev - 0x10007280 0x3d ../../Library/Melon.o - 0x10007280 BasicString::~BasicString() - -.text._ZNK11BasicStringIhE4sizeEv - 0x100072be 0xb - .text._ZNK11BasicStringIhE4sizeEv - 0x100072be 0xb ../../Library/Melon.o - 0x100072be BasicString::size() const - -.text._ZNK11BasicStringIhEixEi - 0x100072ca 0x11 - .text._ZNK11BasicStringIhEixEi - 0x100072ca 0x11 ../../Library/Melon.o - 0x100072ca BasicString::operator[](int) const - -.text._ZN11BasicStringIhE5clearEv - 0x100072dc 0x34 - .text._ZN11BasicStringIhE5clearEv - 0x100072dc 0x34 ../../Library/Melon.o - 0x100072dc BasicString::clear() - -.text._ZN11BasicStringIhEpLEh - 0x10007310 0x21 - .text._ZN11BasicStringIhEpLEh - 0x10007310 0x21 ../../Library/Melon.o - 0x10007310 BasicString::operator+=(unsigned char) - -.text._ZN11BasicStringIhE6appendEh - 0x10007332 0x9c - .text._ZN11BasicStringIhE6appendEh - 0x10007332 0x9c ../../Library/Melon.o - 0x10007332 BasicString::append(unsigned char) - -.text._ZN5WChar6encodeEh - 0x100073ce 0x7a - .text._ZN5WChar6encodeEh - 0x100073ce 0x7a ../../Library/Melon.o - 0x100073ce WChar::encode(unsigned char) - -.text._ZNK11BasicStringI5WCharE4sizeEv - 0x10007448 0xb - .text._ZNK11BasicStringI5WCharE4sizeEv - 0x10007448 0xb ../../Library/Melon.o - 0x10007448 BasicString::size() const - -.text._Znwj 0x10007453 0x13 - .text._Znwj 0x10007453 0x13 ../../Library/Melon.o - 0x10007453 operator new(unsigned int) - -.text._ZN6StringC1E5WCharj - 0x10007466 0x2a - .text._ZN6StringC1E5WCharj - 0x10007466 0x2a ../../Library/Melon.o - 0x10007466 String::String(WChar, unsigned int) - -.text._ZN7OStreamD1Ev - 0x10007490 0x30 - .text._ZN7OStreamD1Ev - 0x10007490 0x30 ../../Library/Melon.o - 0x10007490 OStream::~OStream() - -.text._ZN7OStreamD0Ev - 0x100074c0 0x30 - .text._ZN7OStreamD0Ev - 0x100074c0 0x30 ../../Library/Melon.o - 0x100074c0 OStream::~OStream() - -.text._ZN11BasicStringI5WCharEC2ES0_j - 0x100074f0 0x34 - .text._ZN11BasicStringI5WCharEC2ES0_j - 0x100074f0 0x34 ../../Library/Melon.o - 0x100074f0 BasicString::BasicString(WChar, unsigned int) - -.text._ZN10SimpleListI6StringEC1ERKS0_PS1_ - 0x10007524 0x23 - .text._ZN10SimpleListI6StringEC1ERKS0_PS1_ - 0x10007524 0x23 ../../Library/Melon.o - 0x10007524 SimpleList::SimpleList(String const&, SimpleList*) - -.text._ZN10SimpleListI6StringE8addAtEndERKS0_ - 0x10007548 0x94 - .text._ZN10SimpleListI6StringE8addAtEndERKS0_ - 0x10007548 0x94 ../../Library/Melon.o - 0x10007548 SimpleList::addAtEnd(String const&) - -.text._ZN10SimpleListI6StringE4nextEv - 0x100075dc 0xb - .text._ZN10SimpleListI6StringE4nextEv - 0x100075dc 0xb ../../Library/Melon.o - 0x100075dc SimpleList::next() - -.text._ZN10SimpleListI6StringE1vEv - 0x100075e8 0x8 - .text._ZN10SimpleListI6StringE1vEv - 0x100075e8 0x8 ../../Library/Melon.o - 0x100075e8 SimpleList::v() - -.text._ZN10SimpleListI6StringED1Ev - 0x100075f0 0x3c - .text._ZN10SimpleListI6StringED1Ev - 0x100075f0 0x3c ../../Library/Melon.o - 0x100075f0 SimpleList::~SimpleList() - -.text._ZN11BasicStringI5WCharE6affectES0_j - 0x1000762c 0xb8 - .text._ZN11BasicStringI5WCharE6affectES0_j - 0x1000762c 0xb8 ../../Library/Melon.o - 0x1000762c BasicString::affect(WChar, unsigned int) - -.text._ZNK11BasicStringI5WCharE5emptyEv - 0x100076e4 0x10 - .text._ZNK11BasicStringI5WCharE5emptyEv - 0x100076e4 0x10 ../../Library/Melon.o - 0x100076e4 BasicString::empty() const - -.text._ZN10SimpleListI6StringE7delThisEv - 0x100076f4 0x1f - .text._ZN10SimpleListI6StringE7delThisEv - 0x100076f4 0x1f ../../Library/Melon.o - 0x100076f4 SimpleList::delThis() - -.text._Z5doDivyjPj - 0x10007713 0x76 - .text._Z5doDivyjPj - 0x10007713 0x76 ../../Library/Melon.o - 0x10007713 doDiv(unsigned long long, unsigned int, unsigned int*) - -.text._ZN6StringaSERKS_ - 0x1000778a 0x1a - .text._ZN6StringaSERKS_ - 0x1000778a 0x1a ../../Library/Melon.o - 0x1000778a String::operator=(String const&) - -.text._ZNK6StringeqEPKc - 0x100077a4 0x22 - .text._ZNK6StringeqEPKc - 0x100077a4 0x22 ../../Library/Melon.o - 0x100077a4 String::operator==(char const*) const - -.text._ZN6StringneEPKc - 0x100077c6 0x25 - .text._ZN6StringneEPKc - 0x100077c6 0x25 ../../Library/Melon.o - 0x100077c6 String::operator!=(char const*) - -.text._ZNK6StringeqERKS_ - 0x100077ec 0x1a - .text._ZNK6StringeqERKS_ - 0x100077ec 0x1a ../../Library/Melon.o - 0x100077ec String::operator==(String const&) const - -.text._ZN6StringpLEPKc - 0x10007806 0x22 - .text._ZN6StringpLEPKc - 0x10007806 0x22 ../../Library/Melon.o - 0x10007806 String::operator+=(char const*) - -.text._ZNK6StringplERKS_ - 0x10007828 0x30 - .text._ZNK6StringplERKS_ - 0x10007828 0x30 ../../Library/Melon.o - 0x10007828 String::operator+(String const&) const - -.text._ZNK6StringplEPKc - 0x10007858 0x38 - .text._ZNK6StringplEPKc - 0x10007858 0x38 ../../Library/Melon.o - 0x10007858 String::operator+(char const*) const - -.text._ZN7OStreamD2Ev - 0x10007890 0x30 - .text._ZN7OStreamD2Ev - 0x10007890 0x30 ../../Library/Melon.o - 0x10007890 OStream::~OStream() - -.text._ZN7OStreamlsERK6String - 0x100078c0 0x59 - .text._ZN7OStreamlsERK6String - 0x100078c0 0x59 ../../Library/Melon.o - 0x100078c0 OStream::operator<<(String const&) - -.text._ZN7OStreamlsEi - 0x1000791a 0x3d - .text._ZN7OStreamlsEi - 0x1000791a 0x3d ../../Library/Melon.o - 0x1000791a OStream::operator<<(int) - -.text._ZN15VirtualTerminalD1Ev - 0x10007958 0x50 - .text._ZN15VirtualTerminalD1Ev - 0x10007958 0x50 ../../Library/Melon.o - 0x10007958 non-virtual thunk to VirtualTerminal::~VirtualTerminal() - 0x10007960 VirtualTerminal::~VirtualTerminal() - -.text._ZN15VirtualTerminalD0Ev - 0x100079a8 0x50 - .text._ZN15VirtualTerminalD0Ev - 0x100079a8 0x50 ../../Library/Melon.o - 0x100079a8 non-virtual thunk to VirtualTerminal::~VirtualTerminal() - 0x100079b0 VirtualTerminal::~VirtualTerminal() - -.text._ZN15VirtualTerminal5getInEv - 0x100079f8 0x5e - .text._ZN15VirtualTerminal5getInEv - 0x100079f8 0x5e ../../Library/Melon.o - 0x100079f8 VirtualTerminal::getIn() - -.text._ZN15VirtualTerminal6getOutEv - 0x10007a56 0x5e - .text._ZN15VirtualTerminal6getOutEv - 0x10007a56 0x5e ../../Library/Melon.o - 0x10007a56 VirtualTerminal::getOut() - -.text._ZN15VirtualTerminalC1Ej - 0x10007ab4 0x58 - .text._ZN15VirtualTerminalC1Ej - 0x10007ab4 0x58 ../../Library/Melon.o - 0x10007ab4 VirtualTerminal::VirtualTerminal(unsigned int) - -.text._ZN15VirtualTerminal5writeERK6String - 0x10007b0c 0x45 - .text._ZN15VirtualTerminal5writeERK6String - 0x10007b0c 0x45 ../../Library/Melon.o - 0x10007b0c VirtualTerminal::write(String const&) - -.text._ZN15VirtualTerminal4readEv - 0x10007b52 0x173 - .text._ZN15VirtualTerminal4readEv - 0x10007b52 0x173 ../../Library/Melon.o - 0x10007b52 non-virtual thunk to VirtualTerminal::read() - 0x10007b5a VirtualTerminal::read() - -.text._ZN7Process4argcEv - 0x10007cc6 0x43 - .text._ZN7Process4argcEv - 0x10007cc6 0x43 ../../Library/Melon.o - 0x10007cc6 Process::argc() - -.text._ZN7Process4argvEj - 0x10007d0a 0x66 - .text._ZN7Process4argvEj - 0x10007d0a 0x66 ../../Library/Melon.o - 0x10007d0a Process::argv(unsigned int) - -.text._ZN11ApplicationC2Ev - 0x10007d70 0x22 - .text._ZN11ApplicationC2Ev - 0x10007d70 0x22 ../../Library/Melon.o - 0x10007d70 Application::Application() - -.text._ZN11ApplicationD2Ev - 0x10007d92 0x25 - .text._ZN11ApplicationD2Ev - 0x10007d92 0x25 ../../Library/Melon.o - 0x10007d92 Application::~Application() - -.text._ZN11ApplicationD1Ev - 0x10007db8 0x25 - .text._ZN11ApplicationD1Ev - 0x10007db8 0x25 ../../Library/Melon.o - 0x10007db8 Application::~Application() - -.text._ZN11ApplicationD0Ev - 0x10007dde 0x25 - .text._ZN11ApplicationD0Ev - 0x10007dde 0x25 ../../Library/Melon.o - 0x10007dde Application::~Application() - -.text._ZN11Application4initEv - 0x10007e04 0x5 - .text._ZN11Application4initEv - 0x10007e04 0x5 ../../Library/Melon.o - 0x10007e04 Application::init() - -.text._ZN11Application8doEventsEv - 0x10007e0a 0x5 - .text._ZN11Application8doEventsEv - 0x10007e0a 0x5 ../../Library/Melon.o - 0x10007e0a Application::doEvents() - -.text._ZN11Application4exitEj - 0x10007e10 0x35 - .text._ZN11Application4exitEj - 0x10007e10 0x35 ../../Library/Melon.o - 0x10007e10 Application::exit(unsigned int) - -.text._ZN6flag_tC1Ev - 0x10007e46 0x3d - .text._ZN6flag_tC1Ev - 0x10007e46 0x3d ../../Library/Melon.o - 0x10007e46 flag_t::flag_t() - -.text._ZN6flag_tD1Ev - 0x10007e84 0x32 - .text._ZN6flag_tD1Ev - 0x10007e84 0x32 ../../Library/Melon.o - 0x10007e84 flag_t::~flag_t() - -.text._ZNK11BasicStringI5WCharE7compareERKS1_ - 0x10007eb6 0x84 - .text._ZNK11BasicStringI5WCharE7compareERKS1_ - 0x10007eb6 0x84 ../../Library/Melon.o - 0x10007eb6 BasicString::compare(BasicString const&) const - -.text._ZNK11BasicStringI5WCharE8containsERKS0_ - 0x10007f3a 0x5a - .text._ZNK11BasicStringI5WCharE8containsERKS0_ - 0x10007f3a 0x5a ../../Library/Melon.o - 0x10007f3a BasicString::contains(WChar const&) const - -.text._ZN6VectorI6StringED1Ev - 0x10007f94 0x7b - .text._ZN6VectorI6StringED1Ev - 0x10007f94 0x7b ../../Library/Melon.o - 0x10007f94 Vector::~Vector() - -.text._ZN6VectorI6flag_tEC1Ev - 0x10008010 0x18 - .text._ZN6VectorI6flag_tEC1Ev - 0x10008010 0x18 ../../Library/Melon.o - 0x10008010 Vector::Vector() - -.text._ZN6VectorI6flag_tED1Ev - 0x10008028 0x5b - .text._ZN6VectorI6flag_tED1Ev - 0x10008028 0x5b ../../Library/Melon.o - 0x10008028 Vector::~Vector() - -.text._ZNK6VectorI6flag_tE4sizeEv - 0x10008084 0xb - .text._ZNK6VectorI6flag_tE4sizeEv - 0x10008084 0xb ../../Library/Melon.o - 0x10008084 Vector::size() const - -.text._ZNK6VectorI6flag_tEixEj - 0x10008090 0x13 - .text._ZNK6VectorI6flag_tEixEj - 0x10008090 0x13 ../../Library/Melon.o - 0x10008090 Vector::operator[](unsigned int) const - -.text._ZN6flag_tC1ERKS_ - 0x100080a4 0x7f - .text._ZN6flag_tC1ERKS_ - 0x100080a4 0x7f ../../Library/Melon.o - 0x100080a4 flag_t::flag_t(flag_t const&) - -.text._ZN6VectorI6flag_tE4pushERKS0_ - 0x10008124 0xa4 - .text._ZN6VectorI6flag_tE4pushERKS0_ - 0x10008124 0xa4 ../../Library/Melon.o - 0x10008124 Vector::push(flag_t const&) - -.iplt 0x100081c8 0x0 - .iplt 0x00000000 0x0 ../../Library/Melon.o - -.text._ZNK15RessourceCaller5resIdEv - 0x100081c8 0xa - .text._ZNK15RessourceCaller5resIdEv - 0x100081c8 0xa PaperWork.o - 0x100081c8 RessourceCaller::resId() const - -.text._ZN6StringaSEPKc - 0x100081d2 0x22 - .text._ZN6StringaSEPKc - 0x100081d2 0x22 PaperWork.o - 0x100081d2 String::operator=(char const*) - -.text._ZN15VirtualTerminal8readLineEb - 0x100081f4 0x89 - .text._ZN15VirtualTerminal8readLineEb - 0x100081f4 0x89 PaperWork.o - 0x100081f4 VirtualTerminal::readLine(bool) - -.text._ZN7Process3runERK6String - 0x1000827d 0x53 - .text._ZN7Process3runERK6String - 0x1000827d 0x53 PaperWork.o - 0x1000827d Process::run(String const&) - -.text._ZN7Process5startEv - 0x100082d0 0x43 - .text._ZN7Process5startEv - 0x100082d0 0x43 PaperWork.o - 0x100082d0 Process::start() - -.text._ZN7Process4waitEv - 0x10008314 0x43 - .text._ZN7Process4waitEv - 0x10008314 0x43 PaperWork.o - 0x10008314 Process::wait() - -.text._ZN7Process7pushArgERK6String - 0x10008358 0x42 - .text._ZN7Process7pushArgERK6String - 0x10008358 0x42 PaperWork.o - 0x10008358 Process::pushArg(String const&) - -.text._ZN7Process7setInVTERK15VirtualTerminal - 0x1000839a 0x4d - .text._ZN7Process7setInVTERK15VirtualTerminal - 0x1000839a 0x4d PaperWork.o - 0x1000839a Process::setInVT(VirtualTerminal const&) - -.text._ZN7Process8setOutVTERK15VirtualTerminal - 0x100083e8 0x4d - .text._ZN7Process8setOutVTERK15VirtualTerminal - 0x100083e8 0x4d PaperWork.o - 0x100083e8 Process::setOutVT(VirtualTerminal const&) - -.text._ZN7Process14authenticatePWE6StringS0_ - 0x10008436 0x47 - .text._ZN7Process14authenticatePWE6StringS0_ - 0x10008436 0x47 PaperWork.o - 0x10008436 Process::authenticatePW(String, String) - -.text._ZN9PaperWorkC1Ev - 0x1000847e 0x2bf - .text._ZN9PaperWorkC1Ev - 0x1000847e 0x2bf PaperWork.o - 0x1000847e PaperWork::PaperWork() - -.text._ZN9PaperWorkD1Ev - 0x1000873e 0x30 - .text._ZN9PaperWorkD1Ev - 0x1000873e 0x30 PaperWork.o - 0x1000873e PaperWork::~PaperWork() - -.text._ZN9PaperWorkD0Ev - 0x1000876e 0x30 - .text._ZN9PaperWorkD0Ev - 0x1000876e 0x30 PaperWork.o - 0x1000876e PaperWork::~PaperWork() - -.rodata 0x10009000 0x3d6 - *(.rodata) - .rodata 0x10009000 0x291 ../../Library/Melon.o - *fill* 0x10009291 0x3 00 - .rodata 0x10009294 0x142 PaperWork.o - -.rodata._ZTV6String - 0x100093d8 0x10 - .rodata._ZTV6String - 0x100093d8 0x10 ../../Library/Melon.o - 0x100093d8 vtable for String - -.rodata._ZTV11BasicStringI5WCharE - 0x100093e8 0x10 - .rodata._ZTV11BasicStringI5WCharE - 0x100093e8 0x10 ../../Library/Melon.o - 0x100093e8 vtable for BasicString - -.rodata._ZTV9ByteArray - 0x100093f8 0x10 - .rodata._ZTV9ByteArray - 0x100093f8 0x10 ../../Library/Melon.o - 0x100093f8 vtable for ByteArray - -.rodata._ZTV11BasicStringIhE - 0x10009408 0x10 - .rodata._ZTV11BasicStringIhE - 0x10009408 0x10 ../../Library/Melon.o - 0x10009408 vtable for BasicString - -.rodata._ZTV7OStream - 0x10009418 0x14 - .rodata._ZTV7OStream - 0x10009418 0x14 ../../Library/Melon.o - 0x10009418 vtable for OStream - -.rodata._ZTV7IStream - 0x10009430 0x14 - .rodata._ZTV7IStream - 0x10009430 0x14 ../../Library/Melon.o - 0x10009430 vtable for IStream - -.rodata._ZTV8ShellApp - 0x10009448 0x1c - .rodata._ZTV8ShellApp - 0x10009448 0x1c ../../Library/Melon.o - 0x10009448 vtable for ShellApp - -.rodata._ZTV11Application - 0x10009468 0x1c - .rodata._ZTV11Application - 0x10009468 0x1c ../../Library/Melon.o - 0x10009468 vtable for Application - -.rodata._ZTV15VirtualTerminal - 0x100094a0 0x2c - .rodata._ZTV15VirtualTerminal - 0x100094a0 0x2c ../../Library/Melon.o - 0x100094a0 vtable for VirtualTerminal - -.rodata._ZTV9PaperWork - 0x100094d0 0x1c - .rodata._ZTV9PaperWork - 0x100094d0 0x1c PaperWork.o - 0x100094d0 vtable for PaperWork - -.rel.dyn 0x100094ec 0x0 - .rel.iplt 0x00000000 0x0 ../../Library/Melon.o - .rel.text 0x00000000 0x0 ../../Library/Melon.o - .rel.text._ZN6Thread3getEv - 0x00000000 0x0 ../../Library/Melon.o - .rel.text._ZN7Process3getEv - 0x00000000 0x0 ../../Library/Melon.o - .rel.text._ZN6StringC1Ev - 0x00000000 0x0 ../../Library/Melon.o - .rel.text._ZN6StringC1ERKS_ - 0x00000000 0x0 ../../Library/Melon.o - .rel.text._ZN6StringpLERKS_ - 0x00000000 0x0 ../../Library/Melon.o - .rel.text._ZN6StringpLE5WChar - 0x00000000 0x0 ../../Library/Melon.o - .rel.text._ZN6StringD1Ev - 0x00000000 0x0 ../../Library/Melon.o - .rel.text._ZN6StringD0Ev - 0x00000000 0x0 ../../Library/Melon.o - .rel.text._ZN11BasicStringI5WCharEC2Ev - 0x00000000 0x0 ../../Library/Melon.o - .rel.text._ZN11BasicStringI5WCharED2Ev - 0x00000000 0x0 ../../Library/Melon.o - .rel.text._ZN11BasicStringI5WCharED1Ev - 0x00000000 0x0 ../../Library/Melon.o - .rel.text._ZN11BasicStringI5WCharED0Ev - 0x00000000 0x0 ../../Library/Melon.o - .rel.text._ZN11BasicStringI5WCharEC2ERKS1_ - 0x00000000 0x0 ../../Library/Melon.o - .rel.text._ZN11BasicStringI5WCharE6affectERKS1_ - 0x00000000 0x0 ../../Library/Melon.o - .rel.text._ZN11BasicStringI5WCharE6appendERKS1_ - 0x00000000 0x0 ../../Library/Melon.o - .rel.text._ZN11BasicStringI5WCharE6appendES0_ - 0x00000000 0x0 ../../Library/Melon.o - .rel.text._ZN6VectorI6StringE4pushERKS0_ - 0x00000000 0x0 ../../Library/Melon.o - .rel.text._ZN9ByteArrayC1Ev - 0x00000000 0x0 ../../Library/Melon.o - .rel.text._ZN9ByteArrayC1ERK6Stringh - 0x00000000 0x0 ../../Library/Melon.o - .rel.text._ZN4File4readER9ByteArray - 0x00000000 0x0 ../../Library/Melon.o - .rel.text._ZN4File5writeER9ByteArray - 0x00000000 0x0 ../../Library/Melon.o - .rel.text._ZN9ByteArrayD1Ev - 0x00000000 0x0 ../../Library/Melon.o - .rel.text._ZN9ByteArrayD0Ev - 0x00000000 0x0 ../../Library/Melon.o - .rel.text._ZN11BasicStringIhEC2Ev - 0x00000000 0x0 ../../Library/Melon.o - .rel.text._ZN11BasicStringIhED2Ev - 0x00000000 0x0 ../../Library/Melon.o - .rel.text._ZN11BasicStringIhED1Ev - 0x00000000 0x0 ../../Library/Melon.o - .rel.text._ZN11BasicStringIhED0Ev - 0x00000000 0x0 ../../Library/Melon.o - .rel.text._ZN11BasicStringIhE5clearEv - 0x00000000 0x0 ../../Library/Melon.o - .rel.text._ZN11BasicStringIhEpLEh - 0x00000000 0x0 ../../Library/Melon.o - .rel.text._ZN11BasicStringIhE6appendEh - 0x00000000 0x0 ../../Library/Melon.o - .rel.text._ZN6StringC1E5WCharj - 0x00000000 0x0 ../../Library/Melon.o - .rel.text._ZN7OStreamD1Ev - 0x00000000 0x0 ../../Library/Melon.o - .rel.text._ZN7OStreamD0Ev - 0x00000000 0x0 ../../Library/Melon.o - .rel.text._ZN11BasicStringI5WCharEC2ES0_j - 0x00000000 0x0 ../../Library/Melon.o - .rel.text._ZN10SimpleListI6StringEC1ERKS0_PS1_ - 0x00000000 0x0 ../../Library/Melon.o - .rel.text._ZN10SimpleListI6StringE8addAtEndERKS0_ - 0x00000000 0x0 ../../Library/Melon.o - .rel.text._ZN10SimpleListI6StringED1Ev - 0x00000000 0x0 ../../Library/Melon.o - .rel.text._ZN11BasicStringI5WCharE6affectES0_j - 0x00000000 0x0 ../../Library/Melon.o - .rel.text._ZN6StringaSERKS_ - 0x00000000 0x0 ../../Library/Melon.o - .rel.text._ZNK6StringeqERKS_ - 0x00000000 0x0 ../../Library/Melon.o - .rel.text._ZN7OStreamD2Ev - 0x00000000 0x0 ../../Library/Melon.o - .rel.text._ZN7OStreamlsERK6String - 0x00000000 0x0 ../../Library/Melon.o - .rel.text._ZN7OStreamlsEi - 0x00000000 0x0 ../../Library/Melon.o - .rel.text._ZN15VirtualTerminalD1Ev - 0x00000000 0x0 ../../Library/Melon.o - .rel.text._ZN15VirtualTerminalD0Ev - 0x00000000 0x0 ../../Library/Melon.o - .rel.text._ZN15VirtualTerminal5getInEv - 0x00000000 0x0 ../../Library/Melon.o - .rel.text._ZN15VirtualTerminal6getOutEv - 0x00000000 0x0 ../../Library/Melon.o - .rel.text._ZN15VirtualTerminalC1Ej - 0x00000000 0x0 ../../Library/Melon.o - .rel.text._ZN15VirtualTerminal4readEv - 0x00000000 0x0 ../../Library/Melon.o - .rel.text._ZN11ApplicationC2Ev - 0x00000000 0x0 ../../Library/Melon.o - .rel.text._ZN11ApplicationD2Ev - 0x00000000 0x0 ../../Library/Melon.o - .rel.text._ZN11ApplicationD1Ev - 0x00000000 0x0 ../../Library/Melon.o - .rel.text._ZN11ApplicationD0Ev - 0x00000000 0x0 ../../Library/Melon.o - .rel.text._ZN11Application4exitEj - 0x00000000 0x0 ../../Library/Melon.o - .rel.text._ZN6flag_tC1Ev - 0x00000000 0x0 ../../Library/Melon.o - .rel.text._ZN6flag_tD1Ev - 0x00000000 0x0 ../../Library/Melon.o - .rel.text._ZNK11BasicStringI5WCharE7compareERKS1_ - 0x00000000 0x0 ../../Library/Melon.o - .rel.text._ZNK11BasicStringI5WCharE8containsERKS0_ - 0x00000000 0x0 ../../Library/Melon.o - .rel.text._ZN6VectorI6flag_tED1Ev - 0x00000000 0x0 ../../Library/Melon.o - .rel.text._ZN6flag_tC1ERKS_ - 0x00000000 0x0 ../../Library/Melon.o - .rel.text._ZN6VectorI6flag_tE4pushERKS0_ - 0x00000000 0x0 ../../Library/Melon.o - .rel.rodata._ZTV6String - 0x00000000 0x0 ../../Library/Melon.o - .rel.rodata._ZTV11BasicStringI5WCharE - 0x00000000 0x0 ../../Library/Melon.o - .rel.rodata._ZTV9ByteArray - 0x00000000 0x0 ../../Library/Melon.o - .rel.rodata._ZTV11BasicStringIhE - 0x00000000 0x0 ../../Library/Melon.o - .rel.rodata._ZTV7OStream - 0x00000000 0x0 ../../Library/Melon.o - .rel.rodata._ZTV8ShellApp - 0x00000000 0x0 ../../Library/Melon.o - .rel.rodata._ZTV11Application - 0x00000000 0x0 ../../Library/Melon.o - .rel.rodata._ZTV15VirtualTerminal - 0x00000000 0x0 ../../Library/Melon.o - .rel.text._ZN7Process3runERK6String - 0x00000000 0x0 ../../Library/Melon.o - .rel.text._ZN7Process4waitEv - 0x00000000 0x0 ../../Library/Melon.o - .rel.text._ZN7Process7setInVTERK15VirtualTerminal - 0x00000000 0x0 ../../Library/Melon.o - .rel.text._ZN7Process8setOutVTERK15VirtualTerminal - 0x00000000 0x0 ../../Library/Melon.o - .rel.text._ZN9PaperWorkC1Ev - 0x00000000 0x0 ../../Library/Melon.o - .rel.rodata._ZTV9PaperWork - 0x00000000 0x0 ../../Library/Melon.o - .rel.text._ZN9PaperWorkD1Ev - 0x00000000 0x0 ../../Library/Melon.o - .rel.text._ZN9PaperWorkD0Ev - 0x00000000 0x0 ../../Library/Melon.o - -.data 0x1000a000 0x24 - 0x1000a000 start_ctors = . - *(.ctor*) - .ctors 0x1000a000 0x4 ../../Library/Melon.o - .ctors 0x1000a004 0x4 PaperWork.o - 0x1000a008 end_ctors = . - 0x1000a008 start_dtors = . - *(.dtor*) - 0x1000a008 end_dtors = . - *(.data) - .data 0x1000a008 0x18 ../../Library/Melon.o - 0x1000a008 Rand::m - 0x1000a00c Rand::a - 0x1000a010 Rand::b - 0x1000a018 Rand::current - .data 0x1000a020 0x4 PaperWork.o - 0x1000a020 app - -.igot.plt 0x1000a024 0x0 - .igot.plt 0x00000000 0x0 ../../Library/Melon.o - -.bss 0x1000a040 0x2ac - 0x1000a040 sbss = . - *(COMMON) - *(.bss) - .bss 0x1000a040 0x208 ../../Library/Melon.o - 0x1000a040 WChar::CP437 - 0x1000a240 __dso_handle - 0x1000a244 heap - *fill* 0x1000a248 0x18 00 - .bss 0x1000a260 0x8c PaperWork.o - 0x1000a2ec ebss = . - 0x1000a2ec end = . - 0x1000a2ec _end = . - 0x1000a2ec __end = . -LOAD PaperWork.o -OUTPUT(PaperWork elf32-i386) - -.note.GNU-stack - 0x00000000 0x0 - .note.GNU-stack - 0x00000000 0x0 ../../Library/Melon.o - .note.GNU-stack - 0x00000000 0x0 PaperWork.o - -.comment 0x00000000 0x27 - .comment 0x00000000 0x27 ../../Library/Melon.o - 0x280 (size before relaxing) - .comment 0x00000000 0x28 PaperWork.o diff --git a/Source/Kernel/VTManager/FileVT.class.cpp b/Source/Kernel/VTManager/FileVT.class.cpp index 5469fbd..24a1b63 100644 --- a/Source/Kernel/VTManager/FileVT.class.cpp +++ b/Source/Kernel/VTManager/FileVT.class.cpp @@ -39,7 +39,7 @@ keypress_t FileVT::getKeypress(bool show, bool block) { ret.hascmd = true; ret.command = KBDC_ENTER; if (m_file.eof()) { - m_buffer = "."; + m_buffer = EOF; } else { m_buffer = m_file.readLine(); } diff --git a/Source/Library/Common/FileStream.class.cpp b/Source/Library/Common/FileStream.class.cpp index 6154b2f..322e9aa 100644 --- a/Source/Library/Common/FileStream.class.cpp +++ b/Source/Library/Common/FileStream.class.cpp @@ -4,11 +4,16 @@ // INPUT FILE STREAM // ******************** -FileIStream::FileIStream(const String &filename, u8int encoding, FSNode start) { +FileIStream::FileIStream(const String &filename, u8int encoding, FSNode start) : m_start(start) { m_file = new File(filename, FM_READ, start); m_encoding = encoding; } +FileIStream::FileIStream(u8int encoding, FSNode start) : m_start(start) { + m_file = 0; + m_encoding = encoding; +} + FileIStream::~FileIStream() { if (m_file != 0) { m_file->close(); @@ -33,11 +38,7 @@ String FileIStream::read() { if (m_filenames == 0) { return ""; } else { -#ifdef THIS_IS_MELON_KERNEL - m_file = new File(m_filenames->v(), FM_READ); -#else - m_file = new File(m_filenames->v(), FM_READ, FS::cwdNode()); -#endif + m_file = new File(m_filenames->v(), FM_READ, m_start); m_filenames = m_filenames->delThis(); } } diff --git a/Source/Library/Common/FileStream.class.h b/Source/Library/Common/FileStream.class.h index d0fb971..99bf0e8 100644 --- a/Source/Library/Common/FileStream.class.h +++ b/Source/Library/Common/FileStream.class.h @@ -18,9 +18,11 @@ class FileIStream : public IStream { File *m_file; u8int m_encoding; + FSNode m_start; public: FileIStream(const String &filename, u8int encoding = UE_UTF8, FSNode start = FSNode(0)); + FileIStream(u8int encoding = UE_UTF8, FSNode start = FSNode(0)); ~FileIStream(); void appendFile(const String &filename); diff --git a/Source/Library/Makefile b/Source/Library/Makefile index 83e3689..c67daf7 100644 --- a/Source/Library/Makefile +++ b/Source/Library/Makefile @@ -25,6 +25,7 @@ Objects = Common/WChar.class.uo \ Common/StringStream.class.uo \ Common/cppsupport.wtf.uo \ Userland/App/ShellApp.proto.uo \ + Userland/App/StreamApp.proto.uo \ Userland/Syscall/Syscall.wtf.uo \ Userland/Syscall/RessourceCaller.class.uo \ Userland/Start.uo diff --git a/Source/Library/Userland/App/ShellApp.proto.cpp b/Source/Library/Userland/App/ShellApp.proto.cpp index 9528ca2..840e985 100644 --- a/Source/Library/Userland/App/ShellApp.proto.cpp +++ b/Source/Library/Userland/App/ShellApp.proto.cpp @@ -1,6 +1,6 @@ #include "ShellApp.proto.h" -ShellApp::ShellApp(String name, String desc) +ShellApp::ShellApp(const String &name, const String &desc) : Application(), invt(VirtualTerminal::getIn()), outvt(VirtualTerminal::getOut()) { appName = name, appDesc = desc; if (!invt.valid()) exit(1); diff --git a/Source/Library/Userland/App/ShellApp.proto.h b/Source/Library/Userland/App/ShellApp.proto.h index 2308fd1..bc57cd0 100644 --- a/Source/Library/Userland/App/ShellApp.proto.h +++ b/Source/Library/Userland/App/ShellApp.proto.h @@ -23,7 +23,7 @@ class ShellApp : public Application { Vector args; Vector flags; String appName, appDesc; - ShellApp(String name, String desc); + ShellApp(const String &name, const String &desc); ~ShellApp(); virtual void init(); diff --git a/Source/Library/Userland/App/StreamApp.proto.cpp b/Source/Library/Userland/App/StreamApp.proto.cpp new file mode 100644 index 0000000..97f473e --- /dev/null +++ b/Source/Library/Userland/App/StreamApp.proto.cpp @@ -0,0 +1,39 @@ +#include "StreamApp.proto.h" + +#include + +StreamApp::StreamApp(const String& name, const String& desc) + : ShellApp(name, desc) { + addFlag("o", "output", "Set the output to a file instead of the text output", FT_STR, ""); + addFlag("e", "encoding", "Set the encoding for files (input and output)", FT_STR, "utf8"); +} + +StreamApp::~StreamApp() { +} + +void StreamApp::init() { + ShellApp::init(); + + u8int encoding = UE_UTF8; + if (sFlag("encoding") == "utf8") encoding = UE_UTF8; + if (sFlag("encoding") == "utf16be") encoding = UE_UTF16_BE; + if (sFlag("encoding") == "utf16le") encoding = UE_UTF16_LE; + if (sFlag("encoding") == "utf32be") encoding = UE_UTF32_BE; + if (sFlag("encoding") == "utf32le") encoding = UE_UTF32_LE; + + if (sFlag("output") == "") { + out = &outvt; + } else { + out = new FileOStream(sFlag("output"), FM_TRUNCATE, encoding, FS::cwdNode()); + } + + if (args.size() == 0) { + in = &invt; + } else { + FileIStream *f = new FileIStream(encoding, FS::cwdNode()); + for (u32int i = 0; i < args.size(); i++) { + f->appendFile(args[i]); + } + in = f; + } +} diff --git a/Source/Library/Userland/App/StreamApp.proto.h b/Source/Library/Userland/App/StreamApp.proto.h new file mode 100644 index 0000000..462b1f3 --- /dev/null +++ b/Source/Library/Userland/App/StreamApp.proto.h @@ -0,0 +1,27 @@ +#ifndef DEF_STREAMAPP_PROTO_H +#define DEF_STREAMAPP_PROTO_H + +#include "ShellApp.proto.h" + +#include +#include + +/* + * This class implements basic utilities for apps that simply take some input, process it and output something. + * Examples : cat, grep, ... + */ + +class StreamApp : public ShellApp { + protected: + + IStream *in; + OStream *out; + + public: + StreamApp(const String& name, const String& desc); + ~StreamApp(); + + virtual void init(); +}; + +#endif -- cgit v1.2.3