OSDN Git Service

Call CGitCall::OnEnd() when git.exe ended
authorJohan t Hart <johanthart@gmail.com>
Tue, 3 Feb 2009 21:46:26 +0000 (22:46 +0100)
committerFrank Li <lznuaa@gmail.com>
Sun, 8 Feb 2009 07:04:54 +0000 (15:04 +0800)
src/Git/Git.cpp
src/Git/Git.h

index 6dd0ad8..4daf111 100644 (file)
@@ -292,8 +292,10 @@ int CGit::Run(CGitCall* pcall)
        BYTE data[CALL_OUTPUT_READ_CHUNK_SIZE];\r
        while(ReadFile(hRead,data,CALL_OUTPUT_READ_CHUNK_SIZE,&readnumber,NULL))\r
        {\r
+               //Todo: when OnOutputData() returns 'true', abort git-command. Send CTRL-C signal?\r
                pcall->OnOutputData(data,readnumber);\r
        }\r
+       pcall->OnEnd();\r
 \r
        \r
        CloseHandle(pi.hThread);\r
index 4daf9f6..43cdf18 100644 (file)
@@ -17,6 +17,7 @@ public:
        //When this function returns 'true' the git command should be aborted.\r
        //This behavior is not implemented yet.\r
        virtual bool    OnOutputData(const BYTE* data, size_t size)=0;\r
+       virtual void    OnEnd(){}\r
 \r
 private:\r
        CString m_Cmd;\r