class Eio.Model (Eo.Base, Efl.Model.Base)
{
    legacy_prefix: null;
    methods {
       children_filter_set {
          [[Set children filter callback.

            This function sets, along with user's private data userdata,
            the Eio's Eio_Filter_Direct_Cb which is a mid-step before
            receiving the real data. Once in filter callback we can decide,
            by returning either EINA_FALSE, to abort the notification or
            EINA_TRUE to keep it.

            See also @Efl.Model.Base.children_slice.get.

            @since 1.11
          ]]
          params {
             filter_cb: Eio_Filter_Direct_Cb; [[Filter callback]]
             userdata: void *; [[User's private data]]
          }
       }
       path_set {
          [[Custom Eio_Model constructor.

            @since 1.11
          ]]
          params {
             @in path: const(char)*; [[Root path provided by caller]]
          }
       }
    }
    implements {
      Eo.Base.constructor;
      Eo.Base.destructor;
      Efl.Model.Base.properties.get;
      Efl.Model.Base.properties_load;
      Efl.Model.Base.property.set;
      Efl.Model.Base.property.get;
      Efl.Model.Base.load;
      Efl.Model.Base.load_status.get;
      Efl.Model.Base.unload;
      Efl.Model.Base.child_add;
      Efl.Model.Base.child_del;
      Efl.Model.Base.children_slice.get;
      Efl.Model.Base.children_count.get;
      Efl.Model.Base.children_load;
    }
}
