File: process.h

package info (click to toggle)
libwx-perl 1%3A0.9932-9
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 5,300 kB
  • sloc: cpp: 11,064; perl: 8,603; ansic: 711; makefile: 53
file content (48 lines) | stat: -rw-r--r-- 1,582 bytes parent folder | download | duplicates (7)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
/////////////////////////////////////////////////////////////////////////////
// Name:        cpp/process.h
// Purpose:     C++ wrapper for wxProcess
// Author:      Mattia Barbon
// Modified by:
// Created:     11/02/2002
// RCS-ID:      $Id: process.h 2057 2007-06-18 23:03:00Z mbarbon $
// Copyright:   (c) 2002, 2004 Mattia Barbon
// Licence:     This program is free software; you can redistribute it and/or
//              modify it under the same terms as Perl itself
/////////////////////////////////////////////////////////////////////////////

class wxPliProcess:public wxProcess
{
    WXPLI_DECLARE_DYNAMIC_CLASS( wxPliProcess );
    WXPLI_DECLARE_V_CBACK();
public:
    wxPliProcess( const char* package, wxEvtHandler* parent, int id );

    virtual void OnTerminate( int pid, int status );
};

inline wxPliProcess::wxPliProcess( const char* package,
                                   wxEvtHandler* parent, int id )
    : wxProcess( parent, id ),
      m_callback( "Wx::Process" )
{
    m_callback.SetSelf( wxPli_make_object( this, package ), true );
}

void wxPliProcess::OnTerminate( int pid, int status )
{
    dTHX;
    if( wxPliVirtualCallback_FindCallback( aTHX_ &m_callback, "OnTerminate" ) )
    {
        wxPliVirtualCallback_CallCallback( aTHX_ &m_callback,
                                           G_SCALAR|G_DISCARD,
                                           "ii", pid, status );
    }
    else
        wxProcess::OnTerminate( pid, status );
}

WXPLI_IMPLEMENT_DYNAMIC_CLASS( wxPliProcess, wxProcess );

// Local variables: //
// mode: c++ //
// End: //