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
RevLine 
[1224]1// This may look like C code, but it is really -*- C++ -*-
[1237]2// Classe CxxExecutor : Dynamic C++ compile/execution in piapp
[1224]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();
[1230]24
[1268]25 virtual int Execute(string& keyw,vector<string>& args, string& toks);
[1224]26
[1268]27 int CrFile(string cfilename="",string func="");
[1224]28 void PutInclude(ofstream& os);
29 void PutIncludeUser(ofstream& os);
30 void PutObject(ofstream& os);
31 void PutVar(ofstream& os);
32
[1268]33 int FillUserCode(string& usercode,uint_4 first);
34 int FillUserCode(string filename,string filefctname="");
[1230]35
[1268]36 int Compile(string rootfilename="");
[1224]37 int CrMakefile(void);
[1230]38
[1268]39 int Link(string libname="",string func="");
40 int Call(string func="");
[1224]41
[1230]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
[1224]62private:
[1237]63 string mUserCodeFn;
[1268]64 string mUserFctFn;
[1224]65 string mCompOpt;
66 string mLinkOpt;
67 string mMyLibs;
68 vector<string> mIncList;
69 vector<string> mCallArgs;
[1268]70
71 string mDefTmp;
72 string mDefRoot;
73 string mDefFunc;
[1224]74};
75
76#endif
Note: See TracBrowser for help on using the repository browser.