mixin Elm_Interface_Atspi_Action ()
{
   legacy_prefix: null;
   eo_prefix: elm_interface_atspi_action;
   data: null;
   methods {
      @property name @protected {
         get {
            [[Gets action name for given id]]
         }
         values {
            name: const(char)*;
         }
         keys {
            id: int;
         }
      }
      @property localized_name @protected {
         get {
            [[Gets localized action name for given id]]
         }
         values {
            name: const(char)*;
         }
         keys {
            id: int;
         }
      }
      @property description @protected {
         get {
            [[Gets action description for given id]]
         }
         set {
            [[Sets action description for given id]]
            return: bool;
         }
         values {
            description: const(char)*;
         }
         keys {
            id: int;
         }
      }
      @property actions @protected {
         get {
            [[Get list of available widget actions]]
         }
         values {
            actions: list<Elm_Atspi_Action> *; [[contains statically allocated strings]]
         }
      }
      action_do @protected {
         [[Performs action on given widget.]]
         params {
            @in id: int;
         }
         return: bool;
      }
      keybinding_get @protected {
         [[Gets configured keybinding for specific action and widget.]]
         params {
            @in id: int;
         }
         return: own(char *) @warn_unused; [[Should be freed by the user.]]
      }
   }
   implements {
      @virtual .action_do;
      @virtual .keybinding_get;
      @virtual .name.get;
      @virtual .name.set;
      @virtual .description.get;
      @virtual .description.set;
      @virtual .actions.get;
   }
}
