class Elm_App_Client_View (Eo.Base)
{
   legacy_prefix: null;
   eo_prefix: elm_app_client_view;
   methods {
      @property state {
         get {
            [[Get state of view]]
         }
         values {
            state: Elm_App_View_State; [[state of view]]
         }
      }
      @property new_events {
         get {
            [[Get new events of view]]
         }
         values {
            events: int; [[number of events of view]]
         }
      }
      @property window {
         get {
            [[Get window of view]]
         }
         values {
            window: int; [[window of view]]
         }
      }
      @property icon_pixels {
         get {
            [[Get icon pixels of view, view could have a icon 
              in raw format not saved in disk.
            ]]
         }
         values {
            w: uint; [[icon width]]
            h: uint; [[icon height]]
            has_alpha: bool; [[if icon have alpha channel]]
            pixels: const(ubyte)*; [[uchar array, with all bytes of icon]]
         }
      }
      path_set {
        params {
            path: const(char) *;
        }
      }
      @property path {
         get {
            [[Get DBus path of view]]
         }
         values {
            ret: Eina_Stringshare *; [[DBus path of view]]
         }
      }
      @property package {
         get {
            [[Get application package]]
         }
         values {
            ret: const(char)*; [[Package of application]]
         }
      }
      @property icon {
         get {
            [[Get icon path of view]]
         }
         values {
            ret: const(char)*; [[icon path of view]]
         }
      }
      @property progress {
         get {
            [[Get progress of view, should be -1 if there nothing in progress 
              or something between 0-100
            ]]
         }
         values {
            progress: ushort; [[progress of view]]
         }
      }
      @property title {
         get {
            [[Get title of view]]
         }
         values {
            ret: const(char)*; [[title of view]]
         }
      }
      pause {
         [[Pause view]]
         params {
            @in cb: Elm_App_Client_View_Cb @optional; [[callback to be called when view was paused ]]
            @in data: const(void)* @optional; [[callback user data]]
         }
      }
      resume {
         [[Resume view]]
         params {
            @in cb: Elm_App_Client_View_Cb @optional; [[callback to be called when view was resumed]]
            @in data: const(void)* @optional; [[callback user data]]
         }
      }
      close {
         [[Close view]]
         params {
            @in cb: Elm_App_Client_View_Cb @optional; [[callback to be called when view was closed]]
            @in data: const(void)* @optional; [[callback user data]]
         }
      }
   }
   implements {
      Eo.Base.destructor;
      Eo.Base.finalize;
   }
   events {
      state,changed; [[State of view changed.]]
      title,changed; [[Title of view changed.]]
      icon,changed; [[Icon of view changed.]]
      icon,pixels,changed; [[Icons pixels of view changed.]]
      new_events,changed; [[New events of view changed.]]
      progress,changed; [[Progress of view changed.]]
      window,changed; [[Window of view changed.]]
      property,changed; [[One of view properties changed.]]
   }

}
