source: Sophya/trunk/SophyaPI/PIext/nobjmgr.h@ 2743

Last change on this file since 2743 was 2669, checked in by cmv, 20 years ago
  • n/read pour creer et remplir un ntuple a partir d'un choix de colonnes d'un fichier ASCII
  • n/merge pour merger des ntuples dans un ntuple unique
  • savelist pour sauver une liste d'objects dans un fichier ppf

cmv 15/04/2005

File size: 4.8 KB
RevLine 
[165]1// This may look like C code, but it is really -*- C++ -*-
2// Classe de gestion d objets nommes pour piapp
3// Reza Aout 97 , Juillet,Aout 98
4// CEA-DAPNIA LAL-IN2P3/CNRS
5
6#ifndef NOBJMGR_H_SEEN
7#define NOBJMGR_H_SEEN
8
[331]9#include "machdefs.h"
[1164]10
[2322]11#include <fstream>
[1164]12#include <string>
13#include <vector>
14
[331]15#include "anydataobj.h"
[495]16#include "ppersist.h"
[1164]17#include "dvlist.h"
[165]18#include "dlftypes.h"
19
[331]20
[295]21class NObjMgrAdapter;
[165]22class PIStdImgApp;
23class Services2NObjMgr;
24
25class NamedObjMgr {
26public:
[295]27// Constructeur et destructeur
[2490]28 NamedObjMgr(bool fgimgapp=false);
[165]29 virtual ~NamedObjMgr();
30
31 virtual void SetImgApp(PIStdImgApp* app);
[449]32 virtual void SetVerbose(bool fg=false);
[165]33
[1164]34// Gestion des variables globales (dans un DVList)
35 virtual bool SetVar(string const & key, string const & val);
36 virtual bool HasVar(string const & key);
37 virtual bool DeleteVar(string const & key);
38 virtual string GetVar(string const & key);
39 virtual DVList& GetVarList();
[165]40
[1164]41// Gestion des repertoires (Repertoire d'objets en memoire)
[344]42 virtual bool CreateDir(string & dirname);
43 virtual bool DeleteDir(string & dirname);
44 virtual void LockDir(string & dirname);
45 virtual void UnlockDir(string & dirname);
46 virtual void SetKeepOldDirAtt(string & dirname, bool keepold=false);
47 virtual bool SetCurrentDir(string & dirname);
[333]48 virtual void GetCurrentDir(string & dirname);
49 virtual void ListDirs(string & patt);
50 virtual void GetDirList(string & patt, vector<string>& );
[368]51 virtual void CleanDir(string & dirname);
[165]52
[331]53// Pour ajouter, supprimer et acceder aux objets
[344]54 virtual bool AddObj(AnyDataObj* obj, string & nom, bool crd=false);
[1224]55 virtual bool AddObj(AnyDataObj& obj, string & nom, bool crd=false);
[344]56 virtual bool RenameObj(string & nom, string& nomnew);
57 virtual bool DelObj(string & nom, bool fgd=true);
[331]58 virtual void DelObjects(string & patt, bool fgd=true);
[344]59 virtual bool DelObj_Id(int oid);
[331]60 virtual AnyDataObj* GetObj(string & nom);
[1164]61// Acces a l'adaptateur
62 virtual NObjMgrAdapter* GetObjAdapter(string & nom);
63// Liste des objets
[331]64 virtual void ListObjs(string & patt);
65 virtual void GetObjList(string & patt, vector<string>& );
[1164]66// Methode CopyObj() a virer probablement (Reza 30/8/200 obsolete ?)
[1165]67 virtual bool CopyObj(string & nom, string& nomcp);
[331]68
[165]69// Lecture et sauvegarde des objets sur fichier
70 virtual void ReadObj(PInPersist& s, int num=-1);
[331]71 virtual void ReadObj(string const & nomppf, string & nobj);
[2645]72 virtual void ReadObj(vector<string> & flnm_objname);
[165]73 virtual void ReadAll(string const & nomppf);
[331]74 virtual void ReadFits(string const & flnm, string & nobj);
[333]75 virtual void SaveObj(string & nom, POutPersist& s, bool keeppath=false);
76 virtual void SaveObjects(string & patt, string const& nomppf);
[2669]77 virtual void SaveListObjects(vector<string> &liste);
[165]78 virtual void SaveAll(string const& nomppf);
[331]79 virtual void SaveFits(string & nom, string const & flnm);
[165]80
81// Info sur les objets
[331]82 virtual void PrintObj(string & nom);
[165]83
84// Affichage des objets
[331]85 virtual void DisplayObj(string & nom, string dopt="");
[2651]86 virtual void DisplayImage(string & nom, string dopt="", bool fgimagnav=false);
[331]87 virtual void DisplaySurf3D(string & nom, string dopt="");
88 virtual void DisplayNT(string & nom, string& nmx, string& nmy, string& nmz,
[486]89 string& erx, string& ery, string& erz, string& wt,
90 string& label, string dopt="", bool fg3d=false);
[333]91 virtual void DisplayGFD(string & nom, string& numvarx, string& numvary,
92 string& err, string dopt="");
[165]93
[1525]94 virtual void DisplayVector(string & nomvx, string& nomvy, string dopt="");
95
[165]96
97// Acces au PIApplication et a la classe de service
98 virtual PIStdImgApp* GetImgApp();
99 virtual Services2NObjMgr* GetServiceObj();
[1265]100 virtual string const& GetTmpDir();
101 virtual void SetTmpDir(string const& tmpdir);
[295]102
[333]103 virtual void AddWRsId(string & nom, int wrsid);
104// Pour utilisation par ObjMgrWind
105 virtual void UpdateObjMgrWindow(int did);
[1207]106
107// Pour completer le nom de l'objet avec le nom du repertoire
108 static void RemoveSpacesFromName(string & nom);
109 static bool CheckDirName(string & nom);
110 static int ParseObjectName(string & nom, string & nomrep, string & nomobj);
[2490]111
112protected:
[2491]113 virtual bool CreateDir_P(string & dirname);
114 virtual void CleanDir_P(string & dirname);
115 virtual bool AddObj_P(AnyDataObj* obj, string & nom, bool crd);
116 virtual bool RenameObj_P(string & nom, string& nomnew);
117 virtual bool DelObj_P(string & nom, bool fgd=true);
118 virtual void SaveObj_P(string & nom, POutPersist& s, bool keeppath=false);
119
[2490]120 bool _fgimgapp; // true -> cree par PIStdImgApp / pour gestion de thread
[165]121};
122
123
124#endif
Note: See TracBrowser for help on using the repository browser.