[Contents] [Index] [Help] [Retrace] [Browse <] [Browse >]


   NAME
        CxBroker -- create a commodity broker. (V36)

   SYNOPSIS
        broker = CxBroker(nb,error);
        D0                A0 D0

        cxobj *cxbroker(struct newbroker *,long *);

   FUNCTION
        This function creates a broker from the specification found in the
        newbroker structure pointed to by 'nb'. the purpose and meaning of the
        fields of the newbroker structure are described below. also see
        <libraries/commodities.h> for more info.

        struct newbroker
        {
            byte            nb_version;
            strptr          nb_name;
            strptr          nb_title;
            strptr          nb_descr;
            WORD            nb_Unique;
            WORD            nb_Flags;
            byte            nb_pri;
            struct msgport *nb_port;
            WORD            nb_ReservedChannel;
        };

        nb_Version
        This is the way that future versions of commodities can identify
        which version of the newbroker structure you are using. this should be
        set to NB_VERSION as defined in <libraries/commodities.h>

        nb_Name
        This is the name of the broker. This name is used to find the broker
        in commodities' object list and is the name shown in the listview
        gadget of the Exchange program. The name string is copied in the
        broker object upon creation so it can be discarded right after
        CxBroker() returns. The maximum length of the name string is defined
        by a constant in <libraries/commodities.h>.

        nb_Title, nb_Descr
        These are two strings which appear to the user in the Exchange
        program and describe the application the broker is representing.
        Note that these strings are copied into the broker object so they
        can be discarded right after CxBroker() returns. The maximum length
        of these strings that will be recognized are defined by constants in
        <libraries/commodities.h>.

        nb_Unique
        This field indicates what should happen if a broker of the same name
        (nb_Name) already exists in commodities' object list. Constants
        in <libraries/commodities.h> allow the caller to specify whether
        another broker is to be created, and whether any existing broker of
        the same name should be notified that an attempt at creating a
        duplicate has been made.

        nb_Pri
        This specifies with what priority the new broker is to be inserted
        within commodities' object list. Higher priority nodes appear
        earlier in a list. It is strongly recommended that the ToolTypes
        environment of an application be used to allow the end-user to set
        the priority of the broker.

   INPUTS
        nb - an initialized newbroker structure
        error - a pointer to a longword where to store a failure code (may be
                NULL)

   RESULTS
        broker - a pointer to the broker object or NULL upon failure. If the
                 'error' pointer is not NULL, a further diagnostic code is
                 placed at that address. Error codes are defined in
                 <libraries/commodities.h> and include:

                        CBERR_OK
                        No problems; broker created OK.

                        CBERR_SYSERR
                        System problems, not your fault, sign of low memory.

                        CBERR_DUP
                        The nb_Unique field specified that only one broker of
                        'nb_Name' should be allowed, and one already exists.

                        CBERR_VERSION
                        The version specified in 'nb_Version' is unknown to the
                        library.

   SEE ALSO
        setcxobjpri(), <libraries/commodities.h>