
set_next_reset
**************


BEISPIELE
=========

      // ein Objekt mit verkuerzter reset()-Zeit
      void create() {
        ...
        set_next_reset(15*60);   // ~ 15 Minuten
        ...
      }

      void reset() {
        set_next_reset(900);     // die muss im reset() immer wieder
        ::reset();           // neu gesetzt werden
      }

      // ein Objekt, dessen Blueprint keinen reset() bekommen soll
      void create() {
        if(!clonep(this_object())) {
          set_next_reset(-1);
          return;
        }
        ::create();
        ...
      }
