/****************************************************************************** Copyright (c) 1999 Unigraphics Solutions, Inc. Unpublished - All Rights Reserved *******************************************************************************/ /* The following is an example of a users program, written as a user exit to be executed at startup of Unigraphics, to check the current pointer to a registered program and register a new one. */ /***************************************************************/ #include #include #include #include #include /* /***************************************************************/ static int my_saveas_dataset_name_func ( UF_UGMGR_saveas_dataset_name_p_t appl_data ) { int ifail = 0; const char* old_owner = appl_data->oldowner; const char* old_owner_revision = appl_data->old_owner_revision; const char* old_dataset = appl_data->old_dataset; const char* rel_type = appl_data->relation_type; char partname[132], *ptr = partname; /* Just return for now... */ strcpy(appl_data->dataset_name, ""); appl_data->dataset_name_modifiable = TRUE; appl_data->ifail = ifail; partname[0] = '\0'; if (old_owner != NULL) strcpy(ptr, old_owner); if (old_owner_revision != NULL) strcat(ptr,old_owner_revision); if (rel_type != NULL) strcat(ptr, rel_type); if (old_dataset != NULL) strcpy(ptr, old_dataset); appl_data->ifail = ifail; return ifail; } /***************************************************************/ extern void ufsta(char *name, int *rtcode, int rtlen) { int irc = 0, argc = 1; const char* argv[] = {"saveas_dataset_name"}; UF_UGMGR_saveas_dataset_name_fn_t old_one; /**************************beginning ofexecutable*******************/ printf("\nstarting saveas_dataset_name v1.0\n"); /*********************************************/ irc=UF_UGMGR_initialize(argc, argv);/* get licence*/ if (irc != 0) { printf("Unable to get a ufunc/ugmanager license!\n"); return; } printf("got ufunc license!\n"); /*********************************************/ /* Make sure we do not have one already. */ irc = UF_UGMGR_ask_saveas_dataset_name(&old_one); if (old_one != NULL) { printf("Already registered saveas dataset method! &%p\n",old_one); return; } /* Try and register the routine as supplied. */ irc =UF_UGMGR_reg_saveas_dataset_name(my_saveas_datset_name_func); if (irc != 0) { printf("Unable to register saveas dataset method!\n"); return; } printf("Setting routines all finished, bye bye\n"); UF_UGMGR_terminate(); return; }