class Ecore.Poller (Eo.Base)
{
   methods {
      constructor {
         /*@ Constructor with parameters for Ecore Poller. */
         legacy: null;
         params {
            @in Ecore_Poller_Type type;
            @in int interval;
            @in Ecore_Task_Cb func;
            @in const(void)* data;
         }
      }
   }
   properties {
      interval {
         set {
            /*@
            @brief Changes the polling interval rate of @p poller.

            @if MOBILE @since_tizen 2.3
            @elseif WEARABLE @since_tizen 2.3.1
            @endif

            @ingroup Ecore_Poller_Group

            @return Returns true on success, false on failure.

            @remark This allows the changing of a poller's polling interval. It is useful when
            you want to alter a poll rate without deleting and re-creating a poller. */
            legacy: ecore_poller_poller_interval_set;
            return: bool;
         }
         get {
            /*@
            @brief Gets the polling interval rate of @p poller.
            @return Returns the interval, in ticks, that @p poller polls at.

            @if MOBILE @since_tizen 2.3
            @elseif WEARABLE @since_tizen 2.3.1
            @endif

            @ingroup Ecore_Poller_Group

            @remark This returns a poller's polling interval, or 0 on error. */
            legacy: ecore_poller_poller_interval_get;
         }
         values {
            int interval; /*@ The tick interval to set; must be a power of 2 and <= 32768. */
         }
      }
   }
   implements {
      Eo.Base.destructor;
   }
   constructors {
      .constructor;
   }
}
