int requested; // requested events (POLLIN, ...)
void activate(int what) { /*emit*/ activated(what); }
eSocketNotifier(eMainloop *context, int fd, int req, bool startnow);
- void operator delete(void *pmem) { ::operator delete(pmem); }
public:
/**
* \brief Constructs a eSocketNotifier.
void activate();
eTimer(eMainloop *context): context(*context), bActive(false) { }
- void operator delete(void *pmem) { ::operator delete(pmem); }
public:
/**
* \brief Constructs a timer.
/* we don't allow the default operator here, as it would break the refcount. */
void operator=(const iObject &);
protected:
+ void operator delete(void *p) { ::operator delete(p); }
virtual ~iObject() { }
#ifdef SWIG
virtual void AddRef()=0;
eDVBLocalTimeHandler::~eDVBLocalTimeHandler()
{
instance=0;
- for (std::map<iDVBChannel*, channel_data>::iterator it=m_knownChannels.begin(); it != m_knownChannels.end(); ++it)
- delete it->second.tdt;
if (ready())
{
eDebug("set RTC to previous valid time");
m_knownChannels.find(chan);
if ( it != m_knownChannels.end() )
{
- TDT *prev_tdt = it->second.tdt;
- it->second.tdt = new TDT(chan, prev_tdt->getUpdateCount());
+ it->second.tdt = new TDT(chan, it->second.tdt->getUpdateCount());
it->second.tdt->startTimer(60*60*1000); // restart TDT for this transponder in 60min
- delete prev_tdt;
}
}
}
break;
case iDVBChannel::state_release:
eDebug("[eDVBLocalTimerHandler] remove channel %p", chan);
- delete it->second.tdt;
m_knownChannels.erase(it);
break;
default: // ignore all other events
DECLARE_REF(eDVBLocalTimeHandler);
struct channel_data
{
- TDT *tdt;
+ ePtr<TDT> tdt;
ePtr<eDVBChannel> channel;
ePtr<eConnection> m_stateChangedConn;
int m_prevChannelState;
if (ref.path.empty())
{
- delete m_dvb_scan;
m_dvb_scan = new eDVBScan(m_channel, true, false);
m_dvb_scan->connectEvent(slot(*this, &eDVBServicePMTHandler::SDTScanEvent), m_scan_event_connection);
}
void eDVBServicePMTHandler::free()
{
m_dvb_scan = 0;
- delete m_dvb_scan;
if (m_ca_servicePtr)
{
int m_last_channel_state;
eDVBCAService *m_ca_servicePtr;
- eDVBScan *m_dvb_scan; // for sdt scan
+ ePtr<eDVBScan> m_dvb_scan; // for sdt scan
eAUTable<eTable<ProgramMapSection> > m_PMT;
eAUTable<eTable<ProgramAssociationSection> > m_PAT;
if (FTC_Manager_Lookup_Size(cacheManager, &fnt->font.font, ¤t_face, &fnt->size)<0)
#endif
{
- delete fnt;
eDebug("FTC_Manager_Lookup_Size failed!");
return 0;
}