#ifndef __CNodeRegister_h__
#define __CNodeRegister_h__ 1
#include <netinfo/ni.h>
#include "DSCThread.h"
#include "DSMutexSemaphore.h"
#include "DSEventSemaphore.h"
#include "PrivateTypes.h"
extern DSMutexSemaphore *gNetInfoMutex;
class CNiNodeList;
class CNetInfoPI;
class CNodeRegister : public DSCThread
{
public:
CNodeRegister ( uInt32 inToken, CNiNodeList *inNodeList, bool bReInit, CNetInfoPI *parentClass);
virtual ~CNodeRegister ( void );
virtual long ThreadMain ( void ); virtual void StartThread ( void );
virtual void StopThread ( void );
void Restart ( void );
private:
sInt32 RegisterNodes ( char *inDomainName );
sInt32 RegisterLocalNetInfoHierarchy ( bool inSetLocallyHosted );
bool IsValidNameList ( ni_namelist *inNameList );
bool IsValidName ( char *inName );
bool IsLocalDomain ( char *inName );
uInt32 fToken;
uInt32 fCount;
uInt32 fTotal;
CNiNodeList *fNiNodeList;
DSEventSemaphore fMutex;
bool bReInit;
bool bRestart;
CNetInfoPI *fParentClass;
};
#endif // CNodeRegister