class Elm_App_Client (Eo.Base)
{
   legacy_prefix: null;
   eo_prefix: elm_app_client;
   methods {
      @property views {
         get {
            [[Return a iterator with all views of application.]]
         }
         values {
            ret: free(own(iterator<Elm_App_Client_View *> *), eina_iterator_free); [[The iterator with all views, must be freed after use.]]
         }
      }
      @property package {
         get {
            [[Return the application package.]]
         }
         values {
            ret: const(char)*; [[application package]]
         }
      }
      constructor {
         [[Class constructor of elm_app_client.]]
         legacy: null;
         params {
            @in package: const(char)*; [[Package of application]]
         }
      }
      view_all_close {
         [[Close all views of application.]]
      }
      terminate {
         [[Terminate application.]]
      }
      view_open {
         [[Open an application view.]]
         params {
            @in args: Eina_Value * @optional; [[an array of.]]
            @in view_open_cb: Elm_App_Client_Open_View_Cb @optional; [[callback to be called when view open]]
            @in data: const(void)* @optional; [[callback user data]]
         }
         return: Elm_App_Client_Pending *; [[handler to cancel the view opening if it takes to long ]]
      }
      view_open_cancel {
         [[Cancel a pending elm_app_client_view_open().]]
         params {
            @in pending: Elm_App_Client_Pending *; [[the view open handler]]
         }
      }
   }
   implements {
      Eo.Base.destructor;
      Eo.Base.finalize;
   }
   constructors {
      .constructor;
   }
   events {
      view,created; [[Called when a view of this application is created.]]
      view,deleted; [[Called when a view of this application is deleted.]]
      view_list,loaded; [[Called when list of view is loaded.]]
      application,terminated; [[Called when application is terminated.]]
   }

}
