[ 
https://issues.apache.org/jira/browse/AXIS2C-244?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12554117
 ] 

Senaka Fernando commented on AXIS2C-244:
----------------------------------------

Damitha,
This is definitely a good approach to have been taken. However, if we are to 
adopt this approach, we'll have to use an interface identifier when requesting 
for a particular instance. However, as you say, we can simply use the dll_type 
as the identifier. And, thus a single dll can have multiple dll types, which is 
acceptable. Therefore, instead of having the core to scan through the list of 
entry points, we can simply use the get instance qualified by the interface id 
(the dll type) to retrieve the appropriate entry point.

Regards,
Senaka

> Provide multiple entry points to a single DLL so that 1-1 relationship 
> between dlls and interface implementations can avoided.
> ------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: AXIS2C-244
>                 URL: https://issues.apache.org/jira/browse/AXIS2C-244
>             Project: Axis2-C
>          Issue Type: Improvement
>          Components: util
>    Affects Versions: Current (Nightly)
>            Reporter: Damitha Kumarage
>            Assignee: Sanjaya Ratnaweera
>
> it will be convenient for a single DLL to implement multiple interfaces. For
> example, you might want a single DLL to provide both a transport
> receiver and a transport sender.
> Therefore  the following approach is suggested
> typedef struct axis2_entry_point {
>   const char *dll_type;
>   CREATE_FUNCT create_funct;
> } axis2_entry_point_t;
> Then instead of axis2_get_instance, the DLL would have something like:
> const axis2_entry_point_t *axis2_get_entry_points(void)
> where the return value is a list terminated by a NULL dll_type.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to