コード例 #1
0
struct Director* PtidesPlatformDirector__GetEmbeddedPtidesDirector(struct PtidesPlatformDirector* director) {
    struct CompositeActor* container = director->container;

    PblIterator* actors = pblIteratorNew(container->_containedEntities);
    while (pblIteratorHasNext(actors)) {
        struct CompositeActor* actor = (struct CompositeActor*) pblIteratorNext(actors);
        pblIteratorFree(actors);
        return actor->getDirector(actor);
    }
    pblIteratorFree(actors);
    return NULL;
}
コード例 #2
0
ファイル: schedule.c プロジェクト: galexcode/NetSurf68k
void schedule_remove(void (*callback)(void *p), void *p)
{
	PblIterator *iterator;
	struct nscallback *nscb;
	bool restoreheap = false;

	if(schedule_list == NULL) return;
	if(pblHeapIsEmpty(schedule_list)) return;

	iterator = pblHeapIterator(schedule_list);

	while ((nscb = pblIteratorNext(iterator)) != -1)
	{
		if((nscb->callback == callback) && (nscb->p == p))
		{
			ami_remove_timer_event(nscb);
			pblIteratorRemove(iterator);
			FreeVec(nscb);
			restoreheap = true;
		}
	};

	pblIteratorFree(iterator);

	if(restoreheap) pblHeapConstruct(schedule_list);
}
コード例 #3
0
bool FSMDirector_DirectorTransferModalOutputs(struct FSMDirector* director) {
    struct CompositeActor* container = director->container;
    PblIterator* outports = pblIteratorNew(container->outputPortList(container));
    while (pblIteratorHasNext(outports)) {
        struct IOPort* port = pblIteratorNext(outports);
        director->directorTransferModalOutputs1(director, port);
    }
    pblIteratorFree(outports);
    return true;
}
コード例 #4
0
ファイル: schedule.c プロジェクト: galexcode/NetSurf68k
void schedule_remove_all(void)
{
	PblIterator *iterator;
	struct nscallback *nscb;

	if(pblHeapIsEmpty(schedule_list)) return;

	iterator = pblHeapIterator(schedule_list);

	while ((nscb = pblIteratorNext(iterator)) != -1)
	{
		ami_remove_timer_event(nscb);
		pblIteratorRemove(iterator);
		FreeVec(nscb);
	};

	pblIteratorFree(iterator);
}