summaryrefslogtreecommitdiff
path: root/NetWare/iperlhost.h
blob: cc1754afb3df25277f7841d30abee2aec8aead8c (plain)
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

/*
 * Copyright © 2001 Novell, Inc. All Rights Reserved.
 *
 * You may distribute under the terms of either the GNU General Public
 * License or the Artistic License, as specified in the README file.
 *
 */

/*
 * FILENAME     :   iperlhost.h
 * DESCRIPTION  :   IPerlHost class file.
 * Author       :   SGP
 * Date Created :   January 2001.
 * Date Modified:   July 2nd 2001.
 */



#ifndef __iPerlHost_H__
#define __iPerlHost_H__


#include "EXTERN.h"
#include "perl.h"


class IPerlHost
{
public:
	virtual int VersionNumber() = 0;

	virtual int PerlCreate(PerlInterpreter *my_perl) = 0;
	virtual int PerlParse(PerlInterpreter *my_perl,int argc, char** argv, char** env) = 0;
	virtual int PerlRun(PerlInterpreter *my_perl) = 0;
	virtual void PerlDestroy(PerlInterpreter *my_perl) = 0;
	virtual void PerlFree(PerlInterpreter *my_perl) = 0;

	//virtual bool RegisterWithThreadTable(void)=0;
	//virtual bool UnregisterWithThreadTable(void)=0;
};

extern "C" IPerlHost* AllocStdPerl();
extern "C" void FreeStdPerl(IPerlHost* pPerlHost);


#endif	// __iPerlHost_H__