Back to index

nordugrid-arc-nox  1.1.0~rc6
TargetRetrieverARC1.h
Go to the documentation of this file.
00001 // -*- indent-tabs-mode: nil -*-
00002 
00003 #ifndef __ARC_TARGETRETRIEVERARC1_H__
00004 #define __ARC_TARGETRETRIEVERARC1_H__
00005 
00006 #include <arc/client/TargetRetriever.h>
00007 
00008 namespace Arc {
00009 
00010   class Logger;
00011 
00012   struct ThreadArg;
00013 
00014   class TargetRetrieverARC1
00015     : public TargetRetriever {
00016   private:
00017     TargetRetrieverARC1(const UserConfig& usercfg,
00018                         const URL& url, ServiceType st);
00019   public:
00020     ~TargetRetrieverARC1();
00021     virtual void GetTargets(TargetGenerator& mom, int targetType, int detailLevel);
00022     static Plugin* Instance(PluginArgument *arg);
00023 
00024   private:
00025     static void QueryIndex(void *arg);
00026     static void InterrogateTarget(void *arg);
00027 
00028     ThreadArg* CreateThreadArg(TargetGenerator& mom,
00029                                int targetType, int detailLevel);
00030 
00031     static Logger logger;
00032   };
00033 
00034 } // namespace Arc
00035 
00036 #endif // __ARC_TARGETRETRIEVERARC1_H__