diff -r 80ef3a206772 -r 48780e181b38 Symbian3/SDK/Source/GUID-260C7ACD-0024-59DE-B1C6-0C852E44C457.dita --- a/Symbian3/SDK/Source/GUID-260C7ACD-0024-59DE-B1C6-0C852E44C457.dita Fri Jul 16 17:23:46 2010 +0100 +++ b/Symbian3/SDK/Source/GUID-260C7ACD-0024-59DE-B1C6-0C852E44C457.dita Tue Jul 20 12:00:49 2010 +0100 @@ -1,52 +1,54 @@ - - - - - -Dynamically -Loading Link Libraries OverviewDescription of Polymorphic DLLs. -
Purpose

Dynamically load libraries during program -execution.

These interfaces are used by programs that need to load -libraries at run-time, that have a common interface, but different concrete -behaviour. Because of this relationship between interface and behaviour, such -libraries are called polymorphic DLLs.

-
Architectural relationships

Many parts of the system -use polymorphic DLLs. Communications components, such as Sockets and Messaging, -use architectures in which particular communications protocols are provided -as polymorphic DLLs, and are loaded as needed. UI application programs are -also polymorphic DLLs that are loaded when the user starts the program.

-
Description

The API has three key concepts: polymorphic -DLL, polymorphic DLL handle, and polymorphic DLL function pointer.

-
Polymorphic DLL

A program that uses a type of polymorphic -DLLs defines their interface in terms of a single abstract class whose functions -are declared as pure virtual. Each type of polymorphic DLL is given a unique -identifier (UID).

A particular concrete DLL:

    -
  • implements the interface -by defining and implementing a concrete class derived from the abstract class.

  • -
  • exports a function that -creates an object of the derived class type. All other functions in the DLL -are virtual and called through the base class interface.

  • -
-
Polymorphic DLL handle

The polymorphic DLL handle -allows a program to load and close a particular polymorphic DLL. It also allows -the caller to obtain pointers to functions exported by the DLL. The system -can check that a polymorphic DLL is of the correct type by checking the type -UID value.

The polymorphic DLL handle interface is provided by RLibrary.

A -wildcard file system search for polymorphic DLLs can be done through TFindLibrary.

-
Polymorphic DLL function pointer

An exported function -is called through a pointer to function obtained through a polymorphic DLL -handle.

The polymorphic DLL function pointer type is provided by the TLibraryFunction typedef. -The caller casts the pointer to the real type of the exported function before -using it.

-
- -UID Manipulation -Overview - + + + + + +Dynamically Loading Link Libraries OverviewDescription of Polymorphic DLLs. +
Purpose

Dynamically load libraries during program execution.

These +interfaces are used by programs that need to load libraries at run-time, +that have a common interface, but different concrete behavior. Because +of this relationship between interface and behaviour, such libraries +are called polymorphic DLLs.

+
Architectural +relationships

Many parts of the system use polymorphic +DLLs. Communications components, such as Sockets and Messaging, use +architectures in which particular communications protocols are provided +as polymorphic DLLs, and are loaded as needed. UI application programs +are also polymorphic DLLs that are loaded when the user starts the +program.

+
Description

The API has three key concepts: polymorphic DLL, polymorphic +DLL handle, and polymorphic DLL function pointer.

+
Polymorphic +DLL

A program that uses a type of polymorphic DLLs defines +their interface in terms of a single abstract class whose functions +are declared as pure virtual. Each type of polymorphic DLL is given +a unique identifier (UID).

A particular concrete DLL:

    +
  • implements the +interface by defining and implementing a concrete class derived from +the abstract class.

  • +
  • exports a function +that creates an object of the derived class type. All other functions +in the DLL are virtual and called through the base class interface.

  • +
+
Polymorphic +DLL handle

The polymorphic DLL handle allows a program to +load and close a particular polymorphic DLL. It also allows the caller +to obtain pointers to functions exported by the DLL. The system can +check that a polymorphic DLL is of the correct type by checking the +type UID value.

The polymorphic DLL handle interface is provided +by RLibrary.

A wildcard file system search +for polymorphic DLLs can be done through TFindLibrary.

+
Polymorphic +DLL function pointer

An exported function is called through +a pointer to function obtained through a polymorphic DLL handle.

The polymorphic DLL function pointer type is provided by the TLibraryFunction typedef. The caller casts the pointer +to the real type of the exported function before using it.

+
+UID +Manipulation Overview
\ No newline at end of file