The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Интерактивная система просмотра системных руководств (man-ов)

 ТемаНаборКатегория 
 
 [Cписок руководств | Печать]

wsreg_unregister (3)
  • >> wsreg_unregister (3) ( Solaris man: Библиотечные вызовы )
  •  

    NAME

    wsreg_unregister - remove a component from the product install registry
     
    

    SYNOPSIS

    cc [flag ...]  file ...-lwsreg [library ...] 
    #include <wsreg.h>
    

    int wsreg_unregister(const Wsreg_component *comp);  

    DESCRIPTION

    The wsreg_unregister() function removes the component specified by comp from the product install registry. The component will only be removed if the comp argument has a matching uuid, instance, and version.

    Usually, the component retrieved through a call to wsreg_get(3WSREG) before being passed to the wsreg_unregister() function.

    If the component has required components, the respective dependent components will be updated to reflect the change.

    A component that has dependent components cannot be unregistered until the dependent components are uninstalled and unregistered.  

    RETURN VALUES

    Upon successful completion, a non-zero return value is returned. If the component could not be unregistered, 0 is returned.  

    EXAMPLES

    Example 1: Unregister a component.

    The following example demonstrates how to unregister a component.

    #include <stdio.h>
    #include <wsreg.h>
     
    int main(int argc, char **argv)
    {
        char *uuid = "d6cf2869-1dd1-11b2-9fcb-080020b69971";
             char *location = "/usr/local/example1_component";
             Wsreg_query *query = NULL;
             Wsreg_component *comp = NULL;
    
             /* Initialize the registry */
             wsreg_initialize(WSREG_INIT_NORMAL, NULL);
    
             /* Query for the component */
             query = wsreg_query_create();
             wsreg_query_set_id(query, uuid);
             wsreg_query_set_location(query, location);
             comp = wsreg_get(query);
    
             if (comp != NULL) {
                 /* The query succeeded.  The component has been found. */
                 Wsreg_component **dependent_comps;
                 dependent_comps = wsreg_get_dependent_components(comp);
                 if (dependent_comps != NULL) {
                 /*
                  * The component has dependent components.  The
                  * component cannot be unregistered.
                  */ 
                 wsreg_free_component_array(dependent_comps);
                 printf("The component cannot be uninstalled because "
                     "it has dependent components\n");
                 } else {
                     /*  
                      * The component does not have dependent components.
                      * It can be unregistered.
                      */
                     if (wsreg_unregister(comp) != 0) {
                         printf("wsreg_unregister succeeded\n");
                     } else {
                         printf("unregister failed\n");
                     }
                 }    
                 /* Be sure to free the component */
                 wsreg_free_component(comp);
             } else {
                 /* The component is not currently registered. */
                 printf("The component was not found in the registry\n");
             }
             wsreg_query_free(query);
    }
    
    

     

    USAGE

    Components should be unregistered before uninstallation. If the component cannot be unregistered, uninstallation should not be performed.

    A component cannot be unregistered if other registered components require it. A call to wsreg_get_dependent_components() can be used to determine if this situation exists. See wsreg_add_dependent_component(3WSREG).

    A successful unregistration of a component will result in all components required by the unregistered component being updated in the product install registry to remove the dependency. Also, child components will be updated so the unregistered component is no longer registered as their parent.

    When unregistering a product, the product should first be unregistered, followed by the unregistration of its first feature and then the unregistration and uninstallation of the components that comprise that feature. Be sure to use this top-down approach to avoid removing a component that belongs to a product or feature that is required by a separate product.  

    ATTRIBUTES

    See attributes(5) for descriptions of the following attributes:

    ATTRIBUTE TYPEATTRIBUTE VALUE
    MT-LevelUnsafe

     

    SEE ALSO

    wsreg_add_dependent_component(3WSREG), wsreg_get(3WSREG), wsreg_initialize(3WSREG), wsreg_register(3WSREG), attributes(5)


     

    Index

    NAME
    SYNOPSIS
    DESCRIPTION
    RETURN VALUES
    EXAMPLES
    USAGE
    ATTRIBUTES
    SEE ALSO


    Поиск по тексту MAN-ов: 




    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру