class Elm_App_Client_View (Eo.Base)
{
   legacy_prefix: null;
   eo_prefix: elm_app_client_view;
   properties {
      state {
         get {
            /*@ Get state of view */
         }
         values {
            Elm_App_View_State state; /*@ state of view */
         }
      }
      new_events {
         get {
            /*@ Get new events of view */
         }
         values {
            int events; /*@ number of events of view */
         }
      }
      window {
         get {
            /*@ Get window of view */
         }
         values {
            int window; /*@ window of view */
         }
      }
      icon_pixels {
         get {
            /*@ Get icon pixels of view, view could have a icon in raw format not saved in disk. */
         }
         values {
            uint w; /*@ icon width */
            uint h; /*@ icon height */
            bool has_alpha; /*@ if icon have alpha channel */
            const(ubyte)* pixels; /*@ uchar array, with all bytes of icon */
         }
      }
      path {
         get {
            /*@ Get DBus path of view */
         }
         values {
            const(char)* ret; /*@ DBus path of view */
         }
      }
      package {
         get {
            /*@ Get application package */
         }
         values {
            const(char)* ret; /*@ Package of application */
         }
      }
      icon {
         get {
            /*@ Get icon path of view */
         }
         values {
            const(char)* ret; /*@ icon path of view */
         }
      }
      progress {
         get {
            /*@ Get progress of view, should be -1 if there nothing in progress or something between 0-100 */
         }
         values {
            ushort progress; /*@ progress of view */
         }
      }
      title {
         get {
            /*@ Get title of view */
         }
         values {
            const(char)* ret; /*@ title of view */
         }
      }
   }
   methods {
      constructor {
         /*@ Class constructor of elm_app_client_view */
         legacy: null;
         params {
            @in const(char)* path; /*@ DBus path of view */
         }
      }
      pause {
         /*@ Pause view */
         params {
            @in Elm_App_Client_View_Cb cb; /*@ callback to be called when view was paused */
            @in const(void)* data; /*@ callback user data */
         }
      }
      resume {
         /*@ Resume view */
         params {
            @in Elm_App_Client_View_Cb cb; /*@ callback to be called when view was resumed */
            @in const(void)* data; /*@ callback user data */
         }
      }
      close {
         /*@ Close view */
         params {
            @in Elm_App_Client_View_Cb cb; /*@ callback to be called when view was closed */
            @in const(void)* data; /*@ callback user data */
         }
      }
   }
   implements {
      Eo.Base.constructor;
      Eo.Base.destructor;
   }
   constructors {
      .constructor;
   }
   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. */
   }

}
