source: Sophya/trunk/SophyaPI/PIext/cxxexecutor.h@ 1268

Last change on this file since 1268 was 1268, checked in by ercodmgr, 25 years ago

3ieme argument string& toks pour Execute et ExecuteCommand
preparation gestion TmpDir dans cxxexecutor
suppression de ExecuteCXX ds cxxexecutor et appels
possibilite d'ajouter des userfct.cc ds cxxexecutor

cmv 1/11/00

File size: 1.8 KB
Line 
1// This may look like C code, but it is really -*- C++ -*-
2// Classe CxxExecutor : Dynamic C++ compile/execution in piapp
3// (c) DAPNIA (CEA) LAL (IN2P3/CNRS)
4// C. Magneville 10/2000
5
6#ifndef CXXEXECUTOR_H_SEEN
7#define CXXEXECUTOR_H_SEEN
8
9#include "machdefs.h"
10#include <stdio.h>
11#include <stdlib.h>
12#include <iostream.h>
13
14#include <vector>
15#include <string>
16
17#include "piacmd.h"
18#include "nobjmgr.h"
19
20class CxxExecutor : public CmdExecutor {
21public:
22 CxxExecutor(PIACmd* piac, PIStdImgApp* app);
23 virtual ~CxxExecutor();
24
25 virtual int Execute(string& keyw,vector<string>& args, string& toks);
26
27 int CrFile(string cfilename="",string func="");
28 void PutInclude(ofstream& os);
29 void PutIncludeUser(ofstream& os);
30 void PutObject(ofstream& os);
31 void PutVar(ofstream& os);
32
33 int FillUserCode(string& usercode,uint_4 first);
34 int FillUserCode(string filename,string filefctname="");
35
36 int Compile(string rootfilename="");
37 int CrMakefile(void);
38
39 int Link(string libname="",string func="");
40 int Call(string func="");
41
42 void FillArgs(vector<string>& args);
43 void FillArgs(string& args);
44 string GetArgs(void);
45
46 void FillInclude(vector<string>& inc);
47 void FillInclude(string& inc);
48 string GetInclude(void);
49
50 void FillCompileOpt(vector<string>& copt);
51 void FillCompileOpt(string& copt);
52 string GetCompileOpt(void);
53
54 void FillLinkOpt(vector<string>& lopt);
55 void FillLinkOpt(string& lopt);
56 string GetLinkOpt(void);
57
58 void FillLinkLibs(vector<string>& llibs);
59 void FillLinkLibs(string& llibs);
60 string GetLinkLibs(void);
61
62private:
63 string mUserCodeFn;
64 string mUserFctFn;
65 string mCompOpt;
66 string mLinkOpt;
67 string mMyLibs;
68 vector<string> mIncList;
69 vector<string> mCallArgs;
70
71 string mDefTmp;
72 string mDefRoot;
73 string mDefFunc;
74};
75
76#endif
Note: See TracBrowser for help on using the repository browser.