Folder
Object Hierarchy:
Description:
public class Folder :
FileBase
Represents a directory/folder in the project.
Can also represent a project when is_project = true. Projects are folders with is_project = true (no separate Project class).
Project Management
On the daemon,
project_files
and
children hold the full project graph (
ollmfilesd/Folder.vala
). The client keeps neither
— file lists and path lookups are RPC at the caller ([`2.10.4.9`](../../docs/plans/2.10.4.9-ACTIVE-v2-caller-cutover.md)).
Git Integration
During filesystem scan the daemon discovers repositories and checks ignored paths (
ollmfilesd/Folder.vala
). The UI process does not scan.
Client vs daemon
This file is the **client** Folder (UI process). Scan, DB, and tree
build live on the daemon. Methods such as
read_dir
and
load_files_from_db
are not compiled into the client build — see
ollmfilesd/Folder.vala
. At cutover this
replaces
libocfiles/Folder.vala
in the app.
No
project_files
or hydrated
children on the client.
Content:
Properties:
- public FolderFiles children { get; set; }
List of children (files and subfolders) - used for tree view
hierarchy. Client stub only — not hydrated here; daemon holds the real tree.
- public int64 last_viewed { get; set; }
Unix timestamp of last view (stored in database, default: 0, used for
projects).
Static methods:
Creation methods:
Methods:
- public override void bin_read_prop (Stream ctx, ParamSpec prop, uint8 type_byte) throws Error
- public override void bin_write_prop (Stream ctx, ParamSpec prop) throws Error
- public async bool contains_folder (string dir_path)
Whether a directory path is part of this project tree.
- public async File? fetch_file (string path)
Fetch a File already
tracked under this project.
- public async Response fetch_files (int offset = 0, int limit = 50, string query = "", string[] paths = new string[0] {}, bool metadata_only = false)
Fetch a page of file rows for this project (file dropdown).
- public async void insert_file (File file, string path) throws Error
Insert an on-disk file into this project's tracked index.
- public async string project_description ()
Project-level description from vector metadata (ProjectAnalysis
).
- public async ArrayList<Folder> roots ()
Distinct folders that need write access (bwrap overlay roots).
- public override string to_summary (HashMap<int,VectorMetadata> keymap, string indent)
Inherited Members:
All known members inherited from class OLLMfiles.FileBase
All known members inherited from class GLib.Object
- @get
- @new
- @ref
- @set
- add_toggle_ref
- add_weak_pointer
- bind_property
- connect
- constructed
- disconnect
- dispose
- dup_data
- dup_qdata
- force_floating
- freeze_notify
- get_class
- get_data
- get_property
- get_qdata
- get_type
- getv
- interface_find_property
- interface_install_property
- interface_list_properties
- is_floating
- new_valist
- new_with_properties
- newv
- notify
- notify_property
- ref_count
- ref_sink
- remove_toggle_ref
- remove_weak_pointer
- replace_data
- replace_qdata
- set_data
- set_data_full
- set_property
- set_qdata
- set_qdata_full
- set_valist
- setv
- steal_data
- steal_qdata
- thaw_notify
- unref
- watch_closure
- weak_ref
- weak_unref
All known members inherited from interface OLLMrpc.Bin.Serializable