hostile-takeover/base/deletetracker.h
2014-07-06 17:47:28 -07:00

39 lines
656 B
C++

#ifndef __DELETETRACKER_H__
#define __DELETETRACKER_H__
#include "inc/basictypes.h"
#include "base/log.h"
namespace base {
class DeleteTracker;
class DeleteRecord {
public:
DeleteRecord(DeleteTracker *tracker);
~DeleteRecord();
bool deleted() { return deleted_; }
private:
bool deleted_;
DeleteRecord *pdrNext_;
DeleteTracker *tracker_;
friend class DeleteTracker;
};
class DeleteTracker {
public:
DeleteTracker();
virtual ~DeleteTracker();
void Register(DeleteRecord *pdr);
void Unregister(DeleteRecord *pdr);
private:
DeleteRecord *pdrFirst_;
};
} // namespace base
#endif // __DELETETRACKER_H__