Combining software executable libraries
First Claim
1. A computer implemented method comprising:
- a processor locating a first sub-library and a second sub-library, wherein the first sub-library comprises a first initialization function, a first registration function, and a first plurality of application functions, wherein the second sub-library comprises a second initialization function, a second registration function, and a second plurality of application functions, wherein each initialization function calls an associated register function, wherein each registration function passes details of application functions to a library manager that receives requests for application functions from an application, and wherein each application function is an executable software function that provides additional functionality to a calling application;
the processor combining the first sub-library and the second sub-library into a single library, wherein the single library comprises a new initialization function that replaces the first and second initialization functions, wherein the single library comprises unchanged embodiments of the first and second registration functions, and wherein the single library comprises unchanged embodiments of the first and second plurality of application functions;
the processor directing an application function request for a specific application function from the library manager to the new initialization function, wherein the new initialization function selectively directs the application function request to either the first initialization function or the second initialization function without using a forwarding function, and wherein each sub-library appears as a separate dynamic linked library to the library manager;
the processor detecting a registration request to register the single library with the library manager;
the processor, in response to detecting the registration request, calling the associated register function of each of the first and second sub-libraries; and
the processor, in response to a register function being called, registering, with the library manager, details of one or more executable software functions that make up a specific sub-library associated with the register function that is being called.
2 Assignments
0 Petitions
Accused Products
Abstract
The present invention provides a method, data processing system and computer program product in which a plurality of software executable libraries (sub-libraries) are combined into a single software executable library. The single library comprises a plurality of register functions, each associated with a particular sub-library and each sub-library comprises one or more functions. When the library receives a request to register from a library manager it calls each of the register functions, each of which register the one or more functions of its associated sub-library with the library manager. Advantageously the library manager can subsequently interface with each sub-library as if the sub-library was a standalone library. Further a register function can be used for a library whether the library is sub-library or a standalone library, thereby reducing the effort to switch from one to the other.
25 Citations
18 Claims
-
1. A computer implemented method comprising:
-
a processor locating a first sub-library and a second sub-library, wherein the first sub-library comprises a first initialization function, a first registration function, and a first plurality of application functions, wherein the second sub-library comprises a second initialization function, a second registration function, and a second plurality of application functions, wherein each initialization function calls an associated register function, wherein each registration function passes details of application functions to a library manager that receives requests for application functions from an application, and wherein each application function is an executable software function that provides additional functionality to a calling application; the processor combining the first sub-library and the second sub-library into a single library, wherein the single library comprises a new initialization function that replaces the first and second initialization functions, wherein the single library comprises unchanged embodiments of the first and second registration functions, and wherein the single library comprises unchanged embodiments of the first and second plurality of application functions; the processor directing an application function request for a specific application function from the library manager to the new initialization function, wherein the new initialization function selectively directs the application function request to either the first initialization function or the second initialization function without using a forwarding function, and wherein each sub-library appears as a separate dynamic linked library to the library manager; the processor detecting a registration request to register the single library with the library manager; the processor, in response to detecting the registration request, calling the associated register function of each of the first and second sub-libraries; and the processor, in response to a register function being called, registering, with the library manager, details of one or more executable software functions that make up a specific sub-library associated with the register function that is being called. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A data processing system comprising:
-
at least one processor; and memory accessible to the at least one processor; wherein the data processing system is configured for the at least one processor to perform the sub-processes of; retrieving a first sub-library and a second sub-library, wherein the first sub-library comprises a first initialization function, a first registration function, and a first plurality of application functions, wherein the second sub-library comprises a second initialization function, a second registration function, and a second plurality of application functions, wherein each initialization function calls an associated register function, and wherein each registration function passes details of application functions to a library manager that receives requests for application functions from an application; combining the first sub-library and the second sub-library into a single library, wherein the single library comprises a new initialization function that replaces the first and second initialization functions, wherein the single library comprises unchanged versions of the first and second registration functions, and wherein the single library comprises unchanged versions of the first and second plurality of application functions; directing an application function request for a specific application function from the library manager to the new initialization function, wherein the new initialization function selectively directs the application function request to either the first initialization function or the second initialization function without using a forwarding function, and wherein each sub-library appears as a separate dynamic linked library to the library manager; detecting a registration request to register the single library with the library manager; responsive to detecting the registration request, calling the associated register function of each of the first and second sub-libraries; and responsive to a register function being called, registering, with the library manager, details of one or more executable software functions that make up a specific sub-library associated with the register function that is being called. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. A computer program product comprising a computer useable medium having a computer readable program, wherein the computer readable program when executed on a computer causes the computer to perform a method comprising:
-
identifying a first sub-library and a second sub-library, wherein the first sub-library comprises a first initialization function, a first registration function, and a first plurality of application functions, wherein the second sub-library comprises a second initialization function, a second registration function, and a second plurality of application functions, wherein each initialization function calls an associated register function, wherein each registration function passes details of application functions to a library manager that receives requests for application functions from an application, and wherein each application function is an executable software function that provides additional functionality to a calling application; combining the first sub-library and the second sub-library into a single library, wherein the single library comprises a new initialization function that replaces the first and second initialization functions, wherein the single library comprises unchanged embodiments of the first and second registration functions, and wherein the single library comprises unchanged embodiments of the first and second plurality of application functions; directing an application function request for a specific application function from the library manager to the new initialization function, wherein the new initialization function selectively directs the application function request to either the first initialization function or the second initialization function without using a forwarding function, and wherein each sub-library appears as a separate dynamic linked library to the library manager; detecting a registration request to register the single library with the library manager; responsive to the registration request, calling the associated register function of each of the first and second sub-libraries; and responsive to a register function being called, registering, with the library manager, details of one or more executable software functions that make up a specific sub-library associated with the register function that is being called. - View Dependent Claims (14, 15, 16, 17, 18)
-
Specification