File: perltest.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 (101 lines) | stat: -rw-r--r-- 2,704 bytes parent folder | download | duplicates (5)
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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
/////////////////////////////////////////////////////////////////////////////
// Name:        ext/test/cpp/include/perltest.h
// Purpose:     test classes for wxPerl
// Author:      Mark Dootson
// Modified by:
// Created:     2012-09-28
// RCS-ID:      $Id$
// Copyright:   (c) 2012 Mark Dootson
// Licence:     This program is free software; you can redistribute it and/or
//              modify it under the same terms as Perl itself
/////////////////////////////////////////////////////////////////////////////

#ifndef _WXPERL_PERLTEST_CLASSES_H
#define _WXPERL_PERLTEST_CLASSES_H


class wxPerlTestAbstractNonObject
{

public:
    wxPerlTestAbstractNonObject( const wxString& moniker = wxT("AbstractNonObject") );
    
    virtual ~wxPerlTestAbstractNonObject();
    
    wxString GetMoniker() const { return m_moniker; }
    
    wxString GetMessage() const { return DoGetMessage(); }
    
    virtual wxString DoGetMessage() const = 0;
    
    virtual wxString EchoClassName() { return wxT("wxPerlTestAbstractNonObject"); }
    
    virtual wxString OnlyInBase() { return wxT("wxPerlTestAbstractNonObject"); }
   
private:
    wxString m_moniker;
    DECLARE_NO_COPY_CLASS(wxPerlTestAbstractNonObject);
};


class wxPerlTestNonObject: public wxPerlTestAbstractNonObject
{
    
public:
    wxPerlTestNonObject( const wxString& moniker = wxT("NonObject") );
    
    virtual ~wxPerlTestNonObject();
    
    virtual wxString DoGetMessage() const;
    
    virtual wxString EchoClassName() { return wxT("wxPerlTestNonObject"); }
    
private:
    DECLARE_NO_COPY_CLASS(wxPerlTestNonObject);
};



class wxPerlTestAbstractObject: public wxObject
{
    
public:
    wxPerlTestAbstractObject( const wxString& moniker = wxT("AbstractObject") );
        
    virtual ~wxPerlTestAbstractObject();
    
    wxString GetMoniker() const { return m_moniker; }
    
    wxString GetMessage() const { return DoGetMessage(); }
    
    virtual wxString DoGetMessage() const = 0;
    
    virtual wxString EchoClassName() { return wxT("wxPerlTestAbstractObject"); }
    
    virtual wxString OnlyInBase() { return wxT("wxPerlTestAbstractObject"); }
   
private:
    wxString  m_moniker;
    DECLARE_ABSTRACT_CLASS(wxPerlTestAbstractObject)
    DECLARE_NO_COPY_CLASS(wxPerlTestAbstractObject);
};

class wxPerlTestObject: public wxPerlTestAbstractObject
{
    
public:
    wxPerlTestObject( const wxString& moniker = wxT("Object") );
    
    virtual ~wxPerlTestObject();
    
    virtual wxString DoGetMessage() const;
    
    virtual wxString EchoClassName() { return wxT("wxPerlTestObject"); }
    
private:
    DECLARE_DYNAMIC_CLASS(wxPerlTestObject)
    DECLARE_NO_COPY_CLASS(wxPerlTestObject);
};


#endif