The basic idea is maintain a GHashTable of accounts->trees in imuse.c and allow for the getattr(2), read(2), open(2), readdir(2) calls to navigate the trees appropriately.
Take the following crappy diagram:
Accounts/
|--> (d) github.com
|--> (f) NewEmail.template
|--> (d) INBOX
| |--> (d) INBOX.other
|--> (d) Junk
|--> (d) Sent
|--> (f) Some_Email_Subject-(2009-01-16).email
Look at muse_tree.c for more details on how I /think/ this should work
Signed-off-by: R. Tyler Ballance <tyler@monkeypox.org>
Only problem now is that the thing SIGSEGV's on smtp_close()
Program received signal SIGSEGV, Segmentation fault.
0x00007ffff6a52c25 in free () from /lib64/libc.so.6
lolwut!?
Signed-off-by: R. Tyler Ballance <tyler@monkeypox.org>
Turns out to build properly against c-client you have to predefine all the crazy c-client callbacks whether you want them or not.
Stubbed out inside of smtp.c, working on sending mail with c-client; seems like a "light" introduction to working with the API
Signed-off-by: R. Tyler Ballance <tyler@monkeypox.org>
Start writing some GLib key-value file parsing test code to get a handle on it.
I think the general plan is to write a simple configuration utility, that will generate a .config/imuse/configuration file,
then let imuse use that as the default means of reading settings for the connections
Another option, instead of a configuration utility, would be to present the settings file as a "special" file in the imuse file-system
Signed-off-by: R. Tyler Ballance <tyler@monkeypox.org>
Now it's at least representing special directories properly, looking at N-ary tree in GLib for properly representing these based on configuration files, etc.
Signed-off-by: R. Tyler Ballance <tyler@slide.com>