/******************************************************************************
 GAddressBookTreeNode.h

	Interface for GAddressBookTreeNode class.

	Copyright <A9> 1997 by Glenn W. Bach. All rights reserved.

 ******************************************************************************/

#ifndef _H_GAddressBookTreeNode
#define _H_GAddressBookTreeNode

#include "GAddressBaseTreeNode.h"

#include <JUNIXDirEntry.h>

class JString;

class GAddressBookTreeNode : public GAddressBaseTreeNode
{
public:

	GAddressBookTreeNode(JUNIXDirEntry* 	entry,
						JNamedTreeNode* parent = NULL,
						const char* name = "BASE",
						const JBoolean isBranch = kTrue);

	virtual ~GAddressBookTreeNode();
	
	virtual JBoolean OKToChange() const;
	virtual JString	 GetFullPathAndName() const;
	void			 SetNameAndUpdate(const JCharacter* newName);

	void			 Save();
	virtual void	 Save(ostream& os);

private:

	JUNIXDirEntry* 	itsEntry;

private:

	// not allowed

	GAddressBookTreeNode(const GAddressBookTreeNode& source);
	const GAddressBookTreeNode& operator=(const GAddressBookTreeNode& source);

};
#endif
