diff options
author | Eskil Heyn Olsen <eskil@src.gnome.org> | 2000-05-08 22:19:24 +0000 |
---|---|---|
committer | Eskil Heyn Olsen <eskil@src.gnome.org> | 2000-05-08 22:19:24 +0000 |
commit | 4327947df6ddef7c1ddc335afd8a9a82baefbe28 (patch) | |
tree | a1f0942fd7da3acd5c9e829c27a5050d7f8f17ac /docs/eazel-services-framework | |
parent | eebebdf18c5df72483b8bb06cf59c64af8f2712e (diff) | |
download | nautilus-4327947df6ddef7c1ddc335afd8a9a82baefbe28.tar.gz |
more text on the eazel framework thoughts.
Diffstat (limited to 'docs/eazel-services-framework')
-rw-r--r-- | docs/eazel-services-framework | 93 |
1 files changed, 92 insertions, 1 deletions
diff --git a/docs/eazel-services-framework b/docs/eazel-services-framework index 01b7d88a7..6d98c9c52 100644 --- a/docs/eazel-services-framework +++ b/docs/eazel-services-framework @@ -1,3 +1,7 @@ +Nautilus Services Framework thoughts +Eskil Olsen (eskil@eazel.com) +May 2000 + Nautilus Services packaging : Packages @@ -48,10 +52,97 @@ even small parts, lack of ability to only install the parts you want. The upside is, fewer packages to confuse the user. + + Nautilus Services source directory structure : eazel-services -------------- -/ the standard autmake hell +/ the standard automake hell /idl the idl for the toplevel eazel service object /libnautilusservices the shared lib with some common methods (like prompting for root access) + +eazel-service-time +------------------ +/ the standard automake hell +/idl the idl for the service +/src the corba object and the cli tool + +nautilus-eazel-service-time-view +-------------------------------- +/ the standard automake hell +/src the nautilus view component + + + +Naming : + +the idl files +------------- + +to avoid the impending namespace conflict that the $prefix/gnome/idl +system will cause, the idl files should be named uniquely: + + top idl file nautilus-service.idl + service specific idl nautilus-<company>-<name>-service.idl + eg. nautilus-eazel-time-service.idl + +IDL interfaces && modules +------------------------- + +There is already a module Nautilus, in which we could place the +Service interface (note, this does not have to be done in the same +file as the existing Nautilus module is defined). This could also be +encapsulated as a module within the Nautilus module. + +Alternatively, we could make a module specifically for the +services. This would cut down on the long variablenames. + +So something like this for the toplevel + +module Nautilus { + interface Service { + ... toplevel calls ... + }; +}; + +The time service (nautilus-eazel-time-service.idl) : + +module Nautilus { + module Eazel { + interface Time : Service { + ... + }; +}; + +The time service (nautilus-eazel-install-service.idl) : + +module Nautilus { + Module Eazel { + interface Installer : Nautilus::Service { + ... + }; + }; +}; + +So the scheme for service IDL's would be + +module Nautilus { + module <CompanyName> { + interface <ServiceName> : Nautilus::Service { + }; + }; +}; + + + +The Shared Library : + + +Contents +-------- + +The shared library should contain methods that many of the services +will need. This is quite unspecified currently, but eg call to check +for distribution type, root access, query/cache for root password and +such should go here. |