// @(#)root/treeplayer:$Id$
// Author: Philippe Canal 06/06/2004

/*************************************************************************
 * Copyright (C) 1995-2004, Rene Brun and Fons Rademakers and al.        *
 * All rights reserved.                                                  *
 *                                                                       *
 * For the licensing terms see $ROOTSYS/LICENSE.                         *
 * For the list of contributors see $ROOTSYS/README/CREDITS.             *
 *************************************************************************/

#ifndef ROOT_TBranchProxyDescriptor
#define ROOT_TBranchProxyDescriptor

#ifndef ROOT_TNamed
#include "TNamed.h"
#endif


namespace ROOT {

   class TBranchProxyDescriptor : public TNamed {
      TString fDataName;
      TString fBranchName;
      Bool_t  fIsSplit;
      Bool_t  fBranchIsSkipped;
      Bool_t  fIsLeafList;      // true if the branch was constructed from a leaf list.

   public:
      TBranchProxyDescriptor(const char *dataname, const char *type,
                             const char *branchname, Bool_t split = true, Bool_t skipped = false, Bool_t isleaflist = false);
      const char *GetDataName();
      const char *GetTypeName();
      const char *GetBranchName();

      Bool_t IsEquivalent(const TBranchProxyDescriptor *other, Bool_t inClass = kFALSE);
      Bool_t IsSplit() const;

      void OutputDecl(FILE *hf, int offset, UInt_t maxVarname);
      void OutputInit(FILE *hf, int offset, UInt_t maxVarname,
                      const char *prefix);

      ClassDef(TBranchProxyDescriptor,0); // Describe the proxy for a branch
   };
}

#endif
 TBranchProxyDescriptor.h:1
 TBranchProxyDescriptor.h:2
 TBranchProxyDescriptor.h:3
 TBranchProxyDescriptor.h:4
 TBranchProxyDescriptor.h:5
 TBranchProxyDescriptor.h:6
 TBranchProxyDescriptor.h:7
 TBranchProxyDescriptor.h:8
 TBranchProxyDescriptor.h:9
 TBranchProxyDescriptor.h:10
 TBranchProxyDescriptor.h:11
 TBranchProxyDescriptor.h:12
 TBranchProxyDescriptor.h:13
 TBranchProxyDescriptor.h:14
 TBranchProxyDescriptor.h:15
 TBranchProxyDescriptor.h:16
 TBranchProxyDescriptor.h:17
 TBranchProxyDescriptor.h:18
 TBranchProxyDescriptor.h:19
 TBranchProxyDescriptor.h:20
 TBranchProxyDescriptor.h:21
 TBranchProxyDescriptor.h:22
 TBranchProxyDescriptor.h:23
 TBranchProxyDescriptor.h:24
 TBranchProxyDescriptor.h:25
 TBranchProxyDescriptor.h:26
 TBranchProxyDescriptor.h:27
 TBranchProxyDescriptor.h:28
 TBranchProxyDescriptor.h:29
 TBranchProxyDescriptor.h:30
 TBranchProxyDescriptor.h:31
 TBranchProxyDescriptor.h:32
 TBranchProxyDescriptor.h:33
 TBranchProxyDescriptor.h:34
 TBranchProxyDescriptor.h:35
 TBranchProxyDescriptor.h:36
 TBranchProxyDescriptor.h:37
 TBranchProxyDescriptor.h:38
 TBranchProxyDescriptor.h:39
 TBranchProxyDescriptor.h:40
 TBranchProxyDescriptor.h:41
 TBranchProxyDescriptor.h:42
 TBranchProxyDescriptor.h:43
 TBranchProxyDescriptor.h:44
 TBranchProxyDescriptor.h:45
 TBranchProxyDescriptor.h:46
 TBranchProxyDescriptor.h:47