Changeset 36273

Show
Ignore:
Timestamp:
12/26/09 04:32:29 (3 years ago)
Author:
saturday06
Message:

おいおいお

Location:
lang/objective-cplusplus/i3/trunk
Files:
8 modified

Legend:

Unmodified
Added
Removed
  • lang/objective-cplusplus/i3/trunk/Makefile.am

    r36259 r36273  
    113113if WITH_GUI_COCOA 
    114114bin_PROGRAMS  += coco 
    115 coco_SOURCES = tmp/nc.cpp 
     115coco_SOURCES = tmp/main5.cpp 
    116116coco_CXXFLAGS = ${i3_CXXFLAGS} 
    117117coco_LDFLAGS = ${i3_LDFLAGS} 
  • lang/objective-cplusplus/i3/trunk/po/POTFILES.in

    r36267 r36273  
    1 ../src/Common.h 
    2 ../src/CompletionWindow.h 
    3 ../src/ConfigFile.h 
    4 ../src/Delegate.h 
    5 ../src/Initial.h 
    6 ../src/InputWindow.h 
    7 ../src/Mediator.h 
    8 ../src/OutputWindow.h 
    9 ../src/PrecompiledHeaders.h 
    10 ../src/ShellManager.h 
    11 ../src/TestInputWindow1.h 
    12 ../src/Tester.h 
    13 ../src/Version.h 
    14 ../src/gui-cocoa/CompletionWindowPlatform.h 
    15 ../src/gui-cocoa/Gui.h 
    16 ../src/gui-cocoa/InputWindowPlatform.h 
    17 ../src/gui-cocoa/OutputWindowPlatform.h 
    18 ../src/gui-windows/CompletionWindowPlatform.h 
    19 ../src/gui-windows/Gui.h 
    20 ../src/gui-windows/InputWindowPlatform.h 
    21 ../src/gui-windows/OutputWindowPlatform.h 
    22 ../src/mil/include/mil/Atomic.h 
    23 ../src/mil/include/mil/Debug.h 
    24 ../src/mil/include/mil/DoubleBuffer.h 
    25 ../src/mil/include/mil/Environment.h 
    26 ../src/mil/include/mil/FilterException.h 
    27 ../src/mil/include/mil/GuiModule.h 
    28 ../src/mil/include/mil/Intl.h 
    29 ../src/mil/include/mil/Memory.h 
    30 ../src/mil/include/mil/Mil.h 
    31 ../src/mil/include/mil/Module.h 
    32 ../src/mil/include/mil/ModuleCommon.h 
    33 ../src/mil/include/mil/MscCrt.h 
    34 ../src/mil/include/mil/PrecompiledHeaders.h 
    35 ../src/mil/include/mil/Serial.h 
    36 ../src/mil/include/mil/Synchronize.h 
    37 ../src/mil/include/mil/Thread.h 
    38 ../src/mil/include/mil/gui-cocoa/Gui.h 
    39 ../src/mil/include/mil/gui-cocoa/GuiModule.h 
    40 ../src/mil/include/mil/gui-cocoa/GuiModuleObjC.h 
    41 ../src/mil/include/mil/gui-cocoa/PrecompiledHeaders.h 
    42 ../src/mil/include/mil/gui-windows/DummyMessageHandler-inl.h 
    43 ../src/mil/include/mil/gui-windows/Gui.h 
    44 ../src/mil/include/mil/gui-windows/GuiModule.h 
    45 ../src/mil/include/mil/gui-windows/MessageCracker-inl.h 
    46 ../src/mil/include/mil/gui-windows/PrecompiledHeaders.h 
    47 ../src/mil/include/mil/gui-windows/WindowProcedureRedirector.h 
    48 ../src/mil/include/mil/os-unix/Debug.h 
    49 ../src/mil/include/mil/os-unix/Os.h 
    50 ../src/mil/include/mil/os-unix/PrecompiledHeaders.h 
    51 ../src/mil/include/mil/os-unix/Thread.h 
    52 ../src/mil/include/mil/os-windows/Common.h 
    53 ../src/mil/include/mil/os-windows/Debug.h 
    54 ../src/mil/include/mil/os-windows/Os.h 
    55 ../src/mil/include/mil/os-windows/PrecompiledHeaders.h 
    56 ../src/mil/include/mil/os-windows/Sleep.h 
    57 ../src/mil/include/mil/os-windows/Thread.h 
    58 ../src/mil/include/quicktest/quicktest.h 
    59 ../src/mil/include/xbyak/xbyak.h 
    60 ../src/mil/include/xbyak/xbyak_bin2hex.h 
    61 ../src/mil/include/xbyak/xbyak_mnemonic.h 
    62 ../src/mil/src/profile/Profile.h 
    63 ../src/mil/src/test/Test.h 
    64 ../src/os-unix/Os.h 
    65 ../src/os-unix/Pty.h 
    66 ../src/os-windows/Os.h 
    67 ../src/os-windows/Pty.h 
    68 ../src/os-windows/Utf8ToUtf16Stream.h 
    69 ../src/os-windows/WindowsCommon.h 
    70 ../src/os-windows/msvc/iconv.h 
    71 ../src/os-windows/msvc/libintl.h 
    72 ../src/os-windows/resources/resource.h 
    73 ../src/os-windows/wlibintl.h 
     1src/Common.h 
     2src/CompletionWindow.h 
     3src/ConfigFile.h 
     4src/Delegate.h 
     5src/Initial.h 
     6src/InputWindow.h 
     7src/Mediator.h 
     8src/OutputWindow.h 
     9src/PrecompiledHeaders.h 
     10src/ShellManager.h 
     11src/TestInputWindow1.h 
     12src/Tester.h 
     13src/Version.h 
     14src/gui-cocoa/CompletionWindowPlatform.h 
     15src/gui-cocoa/Gui.h 
     16src/gui-cocoa/InputWindowPlatform.h 
     17src/gui-cocoa/OutputWindowPlatform.h 
     18src/gui-windows/CompletionWindowPlatform.h 
     19src/gui-windows/Gui.h 
     20src/gui-windows/InputWindowPlatform.h 
     21src/gui-windows/OutputWindowPlatform.h 
     22src/mil/include/mil/Atomic.h 
     23src/mil/include/mil/Debug.h 
     24src/mil/include/mil/DoubleBuffer.h 
     25src/mil/include/mil/Environment.h 
     26src/mil/include/mil/FilterException.h 
     27src/mil/include/mil/GuiModule.h 
     28src/mil/include/mil/Intl.h 
     29src/mil/include/mil/Memory.h 
     30src/mil/include/mil/Mil.h 
     31src/mil/include/mil/Module.h 
     32src/mil/include/mil/ModuleCommon.h 
     33src/mil/include/mil/MscCrt.h 
     34src/mil/include/mil/PrecompiledHeaders.h 
     35src/mil/include/mil/Serial.h 
     36src/mil/include/mil/Synchronize.h 
     37src/mil/include/mil/Thread.h 
     38src/mil/include/mil/gui-cocoa/Gui.h 
     39src/mil/include/mil/gui-cocoa/GuiModule.h 
     40src/mil/include/mil/gui-cocoa/GuiModuleObjC.h 
     41src/mil/include/mil/gui-cocoa/PrecompiledHeaders.h 
     42src/mil/include/mil/gui-windows/DummyMessageHandler-inl.h 
     43src/mil/include/mil/gui-windows/Gui.h 
     44src/mil/include/mil/gui-windows/GuiModule.h 
     45src/mil/include/mil/gui-windows/MessageCracker-inl.h 
     46src/mil/include/mil/gui-windows/PrecompiledHeaders.h 
     47src/mil/include/mil/gui-windows/WindowProcedureRedirector.h 
     48src/mil/include/mil/os-unix/Debug.h 
     49src/mil/include/mil/os-unix/Os.h 
     50src/mil/include/mil/os-unix/PrecompiledHeaders.h 
     51src/mil/include/mil/os-unix/Thread.h 
     52src/mil/include/mil/os-windows/Common.h 
     53src/mil/include/mil/os-windows/Debug.h 
     54src/mil/include/mil/os-windows/Os.h 
     55src/mil/include/mil/os-windows/PrecompiledHeaders.h 
     56src/mil/include/mil/os-windows/Sleep.h 
     57src/mil/include/mil/os-windows/Thread.h 
     58src/mil/include/quicktest/quicktest.h 
     59src/mil/include/xbyak/xbyak.h 
     60src/mil/include/xbyak/xbyak_bin2hex.h 
     61src/mil/include/xbyak/xbyak_mnemonic.h 
     62src/mil/src/profile/Profile.h 
     63src/mil/src/test/Test.h 
     64src/os-unix/Os.h 
     65src/os-unix/Pty.h 
     66src/os-windows/Os.h 
     67src/os-windows/Pty.h 
     68src/os-windows/Utf8ToUtf16Stream.h 
     69src/os-windows/WindowsCommon.h 
     70src/os-windows/msvc/iconv.h 
     71src/os-windows/msvc/libintl.h 
     72src/os-windows/resources/resource.h 
     73src/os-windows/wlibintl.h 
  • lang/objective-cplusplus/i3/trunk/scripts/POTFILES.in.sh

    r36264 r36273  
    11# -*- coding: utf-8-unix -*- 
    22 
    3 cd po 
     3rm -f po/POTFILES.in.tmp po/POTFILES.in 
    44 
    5 rm -f POTFILES.in.tmp POTFILES.in 
     5find src -type f -name '*.h'   | sort >> po/POTFILES.in.tmp 
     6find src -type f -name '\.c'   | sort >> po/POTFILES.in.tmp 
     7find src -type f -name '\.cpp' | sort >> po/POTFILES.in.tmp 
     8find src -type f -name '\.m'   | sort >> po/POTFILES.in.tmp 
     9find src -type f -name '\.mm'  | sort >> po/POTFILES.in.tmp 
    610 
    7 find ../src -type f -name '*.h'   | sort >> POTFILES.in.tmp 
    8 find ../src -type f -name '\.c'   | sort >> POTFILES.in.tmp 
    9 find ../src -type f -name '\.cpp' | sort >> POTFILES.in.tmp 
    10 find ../src -type f -name '\.m'   | sort >> POTFILES.in.tmp 
    11 find ../src -type f -name '\.mm'  | sort >> POTFILES.in.tmp 
     11cp -p po/POTFILES.in.tmp po/POTFILES.in 
     12rm -f po/POTFILES.in.tmp 
    1213 
    13 cp -p POTFILES.in.tmp POTFILES.in 
    14 rm -f POTFILES.in.tmp 
    15  
  • lang/objective-cplusplus/i3/trunk/src/Common.cpp

    r36264 r36273  
    33 
    44#include <mil/StaticData.cpp> 
    5  
    6 #ifdef MIL_GUI_COCOA 
    7 #include <mil/StaticDataObjC.cpp> 
    8 #endif 
    95 
    106#ifdef __CYGWIN__ 
  • lang/objective-cplusplus/i3/trunk/src/Tester.cpp

    r36257 r36273  
    3131        CHECK_VALID; 
    3232 
    33     //std::cout << "Test [" << getName() << "] passed" << std::endl; 
    3433        synchronized (mutex) { 
    3534                passed = true; 
     
    5857            } 
    5958            if (!startNext()) { 
    60                                 //debug << "run() return"; 
    6159                return; 
    6260            } 
     
    115113        } 
    116114} 
     115#else 
     116void send_key(char c_); 
    117117#endif 
    118118 
  • lang/objective-cplusplus/i3/trunk/src/gui-windows/InputWindowPlatform.cpp

    r36257 r36273  
    7474} 
    7575 
     76#define I3_EVENT_HANDLER(receiver_class, event_class)                   \ 
     77    template <>                                                         \ 
     78    void receiver_class::beforeExecute(event_class& event) {            \ 
     79        debug << "r=" << #receiver_class << ", e=" << #event_class;     \ 
     80    }                                                                   \ 
     81    template <>                                                         \ 
     82    void receiver_class::execute(event_class& event) 
     83 
    7684struct EditChangedEvent { 
    7785    int serial; 
    7886}; 
    7987 
    80 template <> 
    81 void Delegate::execute(EditChangedEvent& e) { 
     88//template <> 
     89//void Delegate::execute(EditChangedEvent& e) { 
     90 
     91I3_EVENT_HANDLER(Delegate, EditChangedEvent) { 
    8292    //MessageBox(NULL, data, data, MB_OK); 
    8393    HICON new_icon = NULL; 
  • lang/objective-cplusplus/i3/trunk/src/mil/include/mil/Serial.h

    r34792 r36273  
    1616    int max; 
    1717    int serial; 
    18     std::list<int> list; 
     18    void* list_; // avoid compiler's segv 
    1919public: 
    2020    Serial(int max) : max(max), serial(0) { 
     21        list_ = reinterpret_cast<void*>(new std::list<int>()); 
    2122    } 
     23 
     24    ~Serial() { 
     25        delete reinterpret_cast<std::list<int>*>(list_); 
     26    } 
     27 
    2228    int retain() { 
    2329        int new_id = INVALID_VALUE; 
    2430        synchronized (mutex) { 
     31            std::list<int>& list = *reinterpret_cast<std::list<int>*>(list_); 
    2532            try { 
    2633                if (!list.empty()) { 
     
    4552    bool release(int v) { 
    4653        synchronized (mutex) { 
     54            std::list<int>& list = *reinterpret_cast<std::list<int>*>(list_); 
    4755            try { 
    4856                list.push_back(v); 
  • lang/objective-cplusplus/i3/trunk/tmp/main5.cpp

    r36248 r36273  
    1 #include <mil/PrecompiledHeaders.h> 
    2 #include <mil/Synchronize.h> 
    3 #include <mil/Thread.h> 
     1#import <Cocoa/Cocoa.h> 
     2#include <unistd.h> 
     3 
     4#ifdef WIN32 
     5#include <windows.h> 
     6int get_native_thread_id() { 
     7    return GetCurrentThreadId(); 
     8} 
     9#else 
     10int get_native_thread_id() { 
     11    return pthread_self(); 
     12} 
     13#endif 
    414 
    515NSPort* port1 = nil; 
    616NSPort* port2 = nil; 
    717 
    8 @interface WorkerObj : NSObject { 
     18@interface MyThread : NSObject { 
    919} 
    1020- (oneway void)someInt:(int)foo; 
    1121- (void)setupServer:(NSNotification*)notification; 
     22- (void)startThread; 
    1223@end 
    1324 
    14 @implementation WorkerObj 
     25@implementation MyThread 
    1526- (oneway void)someInt:(int)arg { 
    16     NSLog(@"someInt thread=%x, arg=%x", pthread_self(), arg); 
     27    NSLog(@"someInt thread=%x, arg=%x", get_native_thread_id(), arg); 
    1728} 
    1829- (void)setupServer:(NSNotification*)notification { 
    19     NSLog(@"setupServer thread=%x", pthread_self()); 
    20  
    21     port1 = [NSPort port]; 
    22     port2 = [NSPort port]; 
     30    NSLog(@"setupServer thread=%x", get_native_thread_id()); 
    2331 
    2432    NSConnection *serverConnection = 
     
    2836    [serverConnection setRootObject:self]; 
    2937} 
    30 @end 
    3138 
    32 @interface MyThread : NSObject { 
    33 } 
    34 - (void)startThread; 
    35 @end 
    36  
    37 @implementation MyThread 
    3839- (void)startThread { 
    3940    NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; 
    40     NSLog(@"startThread %x", pthread_self()); 
     41    NSLog(@"startThread %x", get_native_thread_id()); 
    4142 
    4243    NSLog(@"startThread: id=%d", mil::thread::get_native_id()); 
    43  
    44     WorkerObj* obj = [[WorkerObj alloc] init]; 
    4544 
    4645    NSConnection *serverConnection = 
     
    4847                      sendPort:port1]; 
    4948 
    50     [serverConnection setRootObject:obj]; 
     49    [serverConnection setRootObject:self]; 
    5150 
    5251    NSNotificationCenter* center = [NSNotificationCenter defaultCenter]; 
    53     [center addObserver:obj 
     52    [center addObserver:self 
    5453            selector:@selector(setupServer:) 
    5554            name:@"setupServer" object:nil]; 
     
    6160 
    6261int main2() { 
    63     NSLog(@"main2 thread=%x", pthread_self()); 
     62    NSLog(@"main2 thread=%x", get_native_thread_id()); 
    6463    NSAutoreleasePool* pool = [[NSAutoreleasePool alloc] init]; 
    6564    [NSApplication sharedApplication]; 
     
    6766    NSLog(@"main: thread id=%d", mil::thread::get_native_id()); 
    6867 
    69     MyThread* thread = [[MyThread alloc] init]; 
    70     [NSThread detachNewThreadSelector:@selector(startThread) toTarget:thread withObject:nil]; 
     68    port1 = [NSPort port]; 
     69    port2 = [NSPort port]; 
    7170 
    72     NSNotificationCenter* center = [NSNotificationCenter defaultCenter]; 
    73     [center postNotification: 
    74                 [NSNotification notificationWithName:@"setupServer" object:nil]]; 
    7571    sleep(1); 
    7672 
     
    7874        [[NSConnection alloc] initWithReceivePort:port1 
    7975                              sendPort:port2]; 
    80     WorkerObj* proxy = (WorkerObj*)[connection rootProxy]; 
     76 
     77    sleep(1); 
     78 
     79    MyThread* thread = [[MyThread alloc] init]; 
     80    [NSThread detachNewThreadSelector:@selector(startThread) toTarget:thread withObject:nil]; 
     81 
     82    sleep(1); 
     83 
     84    NSNotificationCenter* center = [NSNotificationCenter defaultCenter]; 
     85    [center postNotification: 
     86                [NSNotification notificationWithName:@"setupServer" object:nil]]; 
     87 
     88    sleep(1); 
     89 
     90    WorkerThread* proxy = (WorkerThread*)[connection rootProxy]; 
    8191    [proxy someInt: 5]; 
    8292 
    83      
    84     NSLog(@"main2 x thread=%x", pthread_self()); 
    85     sleep(2); 
    86     NSLog(@"main2 y thread=%x", pthread_self()); 
     93    sleep(1); 
    8794     
    8895    [pool release];