1 /*
2  * main.h
3  *
4  * OPAL application source file for sending/receiving faxes via T.38
5  *
6  * Copyright (c) 2008 Vox Lucida Pty. Ltd.
7  *
8  * The contents of this file are subject to the Mozilla Public License
9  * Version 1.0 (the "License"); you may not use this file except in
10  * compliance with the License. You may obtain a copy of the License at
11  * http://www.mozilla.org/MPL/
12  *
13  * Software distributed under the License is distributed on an "AS IS"
14  * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
15  * the License for the specific language governing rights and limitations
16  * under the License.
17  *
18  * The Original Code is Open Phone Abstraction Library.
19  *
20  * The Initial Developer of the Original Code is Equivalence Pty. Ltd.
21  *
22  * Contributor(s): ______________________________________.
23  *
24  * $Revision: 26029 $
25  * $Author: rjongbloed $
26  * $Date: 2011-06-15 23:43:48 -0500 (Wed, 15 Jun 2011) $
27  */
28 
29 #ifndef _FaxOPAL_MAIN_H
30 #define _FaxOPAL_MAIN_H
31 
32 
33 class MyManager : public OpalManagerConsole
34 {
35     PCLASSINFO(MyManager, OpalManagerConsole)
36 
37   public:
38     virtual void OnClearedCall(OpalCall & call); // Callback override
39 
40     PSyncPoint m_completed;
41 };
42 
43 
44 class MyFaxEndPoint : public OpalFaxEndPoint
45 {
PCLASSINFO(MyFaxEndPoint,OpalFaxEndPoint)46     PCLASSINFO(MyFaxEndPoint, OpalFaxEndPoint)
47 
48   public:
49     MyFaxEndPoint(OpalManager & manager) : OpalFaxEndPoint(manager) { }
50     virtual void OnFaxCompleted(OpalFaxConnection & connection, bool timeout);
51 };
52 
53 
54 class FaxOPAL : public PProcess
55 {
56     PCLASSINFO(FaxOPAL, PProcess)
57 
58   public:
59     FaxOPAL();
60     ~FaxOPAL();
61 
62     virtual void Main();
63     virtual bool OnInterrupt(bool);
64 
65   private:
66     MyManager * m_manager;
67 };
68 
69 
70 #endif  // _FaxOPAL_MAIN_H
71 
72 
73 // End of File ///////////////////////////////////////////////////////////////
74