1 
2 /*
3  * Copyright � 2001 Novell, Inc. All Rights Reserved.
4  *
5  * You may distribute under the terms of either the GNU General Public
6  * License or the Artistic License, as specified in the README file.
7  *
8  */
9 
10 /*
11  * FILENAME     :   iperlhost.h
12  * DESCRIPTION  :   IPerlHost class file.
13  * Author       :   SGP
14  * Date Created :   January 2001.
15  * Date Modified:   July 2nd 2001.
16  */
17 
18 
19 
20 #ifndef __iPerlHost_H__
21 #define __iPerlHost_H__
22 
23 
24 #include "EXTERN.h"
25 #include "perl.h"
26 
27 
28 class IPerlHost
29 {
30 public:
31 	virtual int VersionNumber() = 0;
32 
33 	virtual int PerlCreate(PerlInterpreter *my_perl) = 0;
34 	virtual int PerlParse(PerlInterpreter *my_perl,int argc, char** argv, char** env) = 0;
35 	virtual int PerlRun(PerlInterpreter *my_perl) = 0;
36 	virtual void PerlDestroy(PerlInterpreter *my_perl) = 0;
37 	virtual void PerlFree(PerlInterpreter *my_perl) = 0;
38 
39 	//virtual bool RegisterWithThreadTable(void)=0;
40 	//virtual bool UnregisterWithThreadTable(void)=0;
41 };
42 
43 extern "C" IPerlHost* AllocStdPerl();
44 extern "C" void FreeStdPerl(IPerlHost* pPerlHost);
45 
46 
47 #endif	// __iPerlHost_H__
48 
49