Comments on Dwarf Caiman Orchestrator Design Document v0.3:

4.1 : 3 VTOC info:
          Is this data inteneded for consumption by the GUI? I was under the 
impression that 
          the Dwarf Caiman GUI wouldn't involve itself with VTOC layouts, and 
just use a 
          default VTOC layout provided by the orchestrator. I'm not suggesting 
it be removed,
          I just want to clarify on it's target usage/consumer.

4.1.1 om_disk_type_t data has no enumerations for the disk bus types:
         SATA & IEEE1394/Firewire,

         om_content_type_t   has no enumerations for the content types:
         Primary DOS and "Unknown"

         struct diskinfo:
             I see Dave has already commented on this. I think capacity types
             should be unsigned.
             Also, if sizes are going to be represented in MB rather than GB 
then what is
             the definition for GB: 1024MB or 1000MB. The GUI is going to 
present sizes
             in GB. Who really needs a MB level granularity with modern disk 
sizes?

             om_paritition_type: I can't see any definition for this data type.?

         UpgradeInfo_t {
             ....
             char *whyUpgradeNotAllowed;
             ....
          }
               whyUpgradeNotAllowed is something that will have to be presented 
in the GUI as
               a text message. In order to use a char * type, the Orchestrator 
will need to localise
               this message correctly for the installation locale. The 
alternative might be an
               enumeration type, which the GUI can match against it's own set 
of localised strings. 
         
4.1.2 om_initiateTargetDiscocery ()
        Wouldn't it be useful to return some kind of session/discovery handle 
for the consumer
        to use for subsequent calls? This would serve a few purposes:
        - If om_initiateTargetDiscovery () gets recalled, other discovery calls 
can be associated
          with the correct target discovery process and previous handles can be 
invalidated if 
          necessary.
        - more multi-thread friendly.
        - Prevents accidental calling of other target discovery related 
functions
          (it discourages calling of these functions in cases where target 
discovery has not been
           initiated because it explicitly requires you to have a discovery 
handle first);

         om_DiskPartitionInfo (char *diskname, PartitionInfo *pinfo)
             How does the caller indicate which parition ID it wants partition 
info for?
             The PartitionInfo structure definition is a per partition 
structure.

4.2.1  In addition/combination with Dave's comments about the callback function 
type:
         To reclarify,  the callback mechanism that both GTK and Gnome  use is 
based on
         the Glib/Gobject type mechanism. Glib and GObject have no GUI features 
or functionality,
         and therefore the callback mechanism is not tied to the GNOME desktop, 
or even
         X-windows. The same callback mechanism could equally be used by a 
command line
         installer.

4.3.1 om_locale_t:  if you are using a linked list, you might be interested in 
Glib's pre built
        list types (single and double linked) and accessor/modifier functions:
        
http://developer.gnome.org/doc/API/2.0/glib/glib-Singly-Linked-Lists.html
        
http://developer.gnome.org/doc/API/2.0/glib/glib-Doubly-Linked-Lists.html
        This also applies more generally to the usage of linked list structures 
in the design
        document.

4.3.2 void om_getKeyBoardTypes (char **kbd_types):
            - A return type of void prevents a return value for the caller 
(OM_SUCCESS, etc.)
            - if a NULL list is returned - which "English" is the default 
layout: english-US,
              english-UK? I'm guessing english-US right?

4.4    om_perform_install()
        The additional data provided to the GUI's registred callback function 
via it's function
        parameters needs to be specified. I know.. this is TBD :)

5.1    Sysid tools: network-interface
            - Shoulnd't this be DHCP instead of non-networked? At least for the 
case where there
              is a working NIC detected....

Other stuff:
        I don't see an API for specifying the system timezone for the target 
installation.
        The function naming conventions seem a bit mixed/confusing when trying 
to 
        identify namespaces. Just underscores gets my vote:
        eg. om_initiate_target_discovery () instead of 
om_initiateTargetDiscovery () or
        OmInitiateTargetDiscovery.
        I think underscores make the function names easier to read than upper 
cases
        personally.

Thanks! :)
Niall.
--
This message posted from opensolaris.org

Reply via email to