RE: [Evolution-hackers] Creating folders via CORBA interface

Thanks for the suggestion, but still no dice.

I obtained the ShellComponent interface via the
Shell:get_component_by_type(..) call, and then attempt to call the
createFolderAsync(..) on it.  The parameters to this call are simpler, with
it just asking for a ShellComponentListener, a physical URI, and a type

I've tried the following, and each returned a result of '0' which should
correspond to ShellComponentListener::Result::OK, but the folder is not

createFolderAsync(componentListener, "/home/patrickg/evolution/local/Test1",
createFolderAsync(componentListener, "local/Test1, "calendar");
"file:///home/patrickg/evolution/local/Test1, "calendar");

Trying the above formats with a non-existent path, such as: adasdfa, also
yielded '0' in the result.

I even tried the same parameter formats above using the folder name:
'Calendar' which should have returned
ShellComponentListener::Result::Exists, but instead it returned '0' again.

I also have tried calling the ShellComponent::debug(..) function to pass it
a filename to use for debug output, but that file is never created.

As far as the original method, calling createFolderAsync on the Storage
interface itself, I got a litte more debug information by extracting the
FolderResult from the Any arg to the event method and received the result:
GNOME/Evolution/Storage/Result::UNSUPPORTED_OPERATION and an empty path.  I
have not been able to figure out the cause of the UNSUPPORTED_OPERATION
result though.

Any further thoughts would be much appreciated!



-----Original Message-----
From: evolution-hackers-admin lists ximian com
[mailto:evolution-hackers-admin lists ximian com]On Behalf Of Not Zed
Sent: Tuesday, June 24, 2003 8:48 AM
To: Patrick Gerzanics
Cc: evolution-hackers lists ximian com
Subject: RE: [Evolution-hackers] Creating folders via CORBA interface

On Tue, 2003-06-24 at 22:24, Patrick Gerzanics wrote:
> Well, to figure out why the crash was happening I stumbled across the
> evolution --debug=[debug file path] which yields the assertion:
> evolution-shell-ERROR **: file e-local-storage.c: line 450
> assertion failed: (g_path_is_absolute (path))

Dunno why that would make it crash ... the crash just sounds like a bug.

> When I change the parameters to:
> void asyncCreateFolder (/home/patrickg/evolution/local/NewFolder,
> "calendar", "New Folder", "", listener);
> Same result when I tried:
> void asyncCreateFolder (/home/patrickg/evolution/local/NewFolder,
> "calendar", "New Folder", "/home/patrickg/evolution/local", listener);

Note that the parent_physical_uri does actually have to be a uri, not a
path, i.e. file:///home/... etc.

If it can't find the parent location, then it wouldn't be able to know
where to create the dir.  Maybe strace or something could show up
something (particularly since it says its working).

> I get the 'evolution-shell:folder_created occurred' event via the Bonobo
> Listener, but nothing shows up in Evolution and the expected folder in the
> /home/patrickg/evolution/local/ directory does not appear.  I have been
> to do a work-around by creating the directory manually and populating it
> with an empty .ics file and a folder-metadata.xml file, but it requires a
> restart of Evolution for the app to pick it up.  I'd be happy to just find
> way to get Evo to pick it up without a restart.

Hrm, you might need to use the ShellComponent interface/object type
instead, not the Storage one ... dunno ... Maybe Ettore will pop on the
list and help, I dont think anybody else understands any of the
interfaces ...

> As far as what language, I'm using Java bindings which so far have proved
> pretty reliable.

Cool, though from your other post it sounds a little clumsy.  If only
bonobo(and ui) was also ported ... and the evo api's were usable outside
of evo (or inside :)

evolution-hackers maillist  -  evolution-hackers lists ximian com

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]