<div dir="ltr"><div>Hi, </div><div><br></div><div>please consider the following minimal IDL-Definitions:
</div><div><br></div><div>File Test1.idl:
</div><div><br></div><div> module Test{
</div><div> interface Test_A</div><div> {
</div><div> };
</div><div> };
</div><div><br></div><div>File Test2.idl:
</div><div><br></div><div> module Test{
</div><div> interface Test_B
</div><div> {
</div><div> };
</div><div> };</div><div><br></div><div>Compiled with the commands:
</div><div><br></div><div> omniidl.exe -bcxx -Wbami Test1.idl
</div><div> omniidl.exe -bcxx -Wbami Test2.idl
</div><div><br></div><div>the ominiidl Compiler generates two files, which both of them has the following code:
</div><div><br></div><div> class _0RL_poll__00000000 </div><div> : public virtual Test::AMI_Test_[A/B]Poller,
</div><div> public virtual omniAMI::PollerImpl
</div><div> {
</div><div> public:
</div><div> _0RL_poll__00000000(omniAsyncCallDescriptor* _cd)
</div><div> : omniAMI::PollerImpl(_cd) {}
</div><div><br></div><div> void* _ptrToValue(const char* _id);
</div><div><br></div><div>
</div><div> };
</div><div><br></div><div> void* _0RL_poll__00000000::_ptrToValue(const char* _id)
</div><div> {
</div><div> if (_id == omniAMI::PollerImpl::_PD_repoId)
</div><div> return (void*)(omniAMI::PollerImpl*)this;
</div><div><br></div><div> return Test::AMI_Test_[A/B]Poller::_ptrToValue(_id);
</div><div> }
</div><div><br></div><div>The Linker then obviously complains about double definitions of the function
</div><div>_0RL_poll__00000000::_ptrToValue
</div><div><br></div><div>Usually this class gets a name with some random ID before of the 00000000
</div><div>(like _0RL_poll_a8a3b903a412ba74_00000000) which might be generated from</div><div>some kind of hash out of the functions in the interface. This makes it unique among </div><div>the whole project.</div><div><br></div><div>Is it possible to achieve this for "empty" interfaces as well?
</div><div><br></div><div>Thanks & Regards
</div><div><br></div><div>Nico</div><div>:-)</div><div><br class="gmail-Apple-interchange-newline">----------------------------------------<br> Nico Lochner <a href="mailto:lochner@ixus.de" target="_blank">lochner@ixus.de</a><br> iXus Technologiedienstleistungen GmbH<br> Potsdamer Str. 86, 10785 Berlin<br><a href="http://www.ixus.de/" target="_blank">www.ixus.de</a> Tel: 030-240 84 68-0<br>----------------------------------------<br>SteuerNr. 30/360/33081 UstID DE202620190<br>Handelsregister: HRB 72303<br>beim Amtsgericht Berlin-Charlottenburg<br>Sitz der Gesellschaft: Berlin<br> vertreten durch die Geschaeftsfuehrer<br> Nico Lochner, Sascha Wuerzburg<br>----------------------------------------<br></div><div id="gmail-signature"><div><div> </div></div></div><div></div></div>