I am working with some legacy c++ code and I need to extend an interface. The current interfaces are for example:
[
object,
uuid(guid),
version(1.0),
dual,
nonextensible,
oleautomation
]
interface IInfo : ITask {
// Methods here
}
[
object,
uuid(guid),
version(1.0),
dual,
nonextensible,
oleautomation
]
interface IExtendedInfoTask : IInfo {
// Methods here
}
What I would like to extend is the IInfo interface. Now from my understanding the proper way to do this would be to create an IInfo2 interface that inherits the IInfo interface, however I need my IExtendedInfoTask to inherit from this IInfo2. Changing its current inheritance would break the existing interface would it not?
Would the proper way to do this be creating a IExtendedInfoTask that extends the IInfo2 and duplicate the methods of the IExtendedInfoTask?