ROOT logo
// $Id: AEVAlienUI.h 2088 2008-11-23 20:26:46Z matevz $

// Copyright (C) 1999-2008, Matevz Tadel. All rights reserved.
// This file is part of GLED, released under GNU General Public License version 2.
// For the licensing terms see $GLEDSYS/LICENSE or http://www.gnu.org/.

#ifndef AliEnViz_AEVAlienUI_H
#define AliEnViz_AEVAlienUI_H

#include <Glasses/ZNameMap.h>
#include <AliEnViz/AEV_NS.h>

class AEVAlienUI : public ZNameMap {
  MAC_RNR_FRIENDS(AEVAlienUI);

private:
  void _init();
  GMutex           hAliEnLock;

protected:
  ZLink<ZNameMap>  mSites;     // X{GS} L{}
  ZLink<ZNameMap>  mCompEls;   // X{GS} L{}

  ZLink<ZGlass>	   mPROOF;     // X{GS} L{}

  Bool_t	   bConnected; // X{GS} 7 BoolOut(-join=>1)
  Bool_t	   bLocked;    // X{GS} 7 BoolOut()

  AEV_NS::BiDiPipe mBDP;  //!

  void alien_lock()   { hAliEnLock.Lock();   bLocked = true;  }
  void alien_unlock() { hAliEnLock.Unlock(); bLocked = false; }


public:
  AEVAlienUI(const Text_t* n="AlienUI", const Text_t* t=0) :
    ZNameMap(n,t), hAliEnLock(GMutex::recursive)
  { _init(); }

  ~AEVAlienUI();

  virtual void AdEnlightenment();

  void Connect();    // X{E} 7 MButt(-join=>1)
  void Disconnect(); // X{E} 7 MButt()

  void ImportSites(const Text_t* partition=0); // X{Ed} 7 MButt()
  void SaveSites(const Text_t* file="alice-sites.root"); // X{E} 7 MButt(-join=>1)
  void LoadSites(const Text_t* file="alice-sites.root"); // X{E} 7 MButt()

  // w/ glite would have:
  // TGridResult* FindEx(...);
  void FindExCountFilesPerSite(map<string,int>& cmap, const Text_t* path, const Text_t* wcard);

#include "AEVAlienUI.h7"
  ClassDef(AEVAlienUI, 1);
}; // endclass AEVAlienUI


#endif
 AEVAlienUI.h:1
 AEVAlienUI.h:2
 AEVAlienUI.h:3
 AEVAlienUI.h:4
 AEVAlienUI.h:5
 AEVAlienUI.h:6
 AEVAlienUI.h:7
 AEVAlienUI.h:8
 AEVAlienUI.h:9
 AEVAlienUI.h:10
 AEVAlienUI.h:11
 AEVAlienUI.h:12
 AEVAlienUI.h:13
 AEVAlienUI.h:14
 AEVAlienUI.h:15
 AEVAlienUI.h:16
 AEVAlienUI.h:17
 AEVAlienUI.h:18
 AEVAlienUI.h:19
 AEVAlienUI.h:20
 AEVAlienUI.h:21
 AEVAlienUI.h:22
 AEVAlienUI.h:23
 AEVAlienUI.h:24
 AEVAlienUI.h:25
 AEVAlienUI.h:26
 AEVAlienUI.h:27
 AEVAlienUI.h:28
 AEVAlienUI.h:29
 AEVAlienUI.h:30
 AEVAlienUI.h:31
 AEVAlienUI.h:32
 AEVAlienUI.h:33
 AEVAlienUI.h:34
 AEVAlienUI.h:35
 AEVAlienUI.h:36
 AEVAlienUI.h:37
 AEVAlienUI.h:38
 AEVAlienUI.h:39
 AEVAlienUI.h:40
 AEVAlienUI.h:41
 AEVAlienUI.h:42
 AEVAlienUI.h:43
 AEVAlienUI.h:44
 AEVAlienUI.h:45
 AEVAlienUI.h:46
 AEVAlienUI.h:47
 AEVAlienUI.h:48
 AEVAlienUI.h:49
 AEVAlienUI.h:50
 AEVAlienUI.h:51
 AEVAlienUI.h:52
 AEVAlienUI.h:53
 AEVAlienUI.h:54
 AEVAlienUI.h:55
 AEVAlienUI.h:56
 AEVAlienUI.h:57
 AEVAlienUI.h:58
 AEVAlienUI.h:59
 AEVAlienUI.h:60