_images/Bug72.jpg

What do we mean by the terms Mandatory, Optional and Deprecated?

Mandatory

Interface members flagged as mandatory must be functionally implemented i.e. they must perform and return results in accordance with the interface definition.

Important

Mandatory members must always be present in the interface and must never return a not implemented error.

Optional

Implementation of interface members that are not flagged as mandatory is optional i.e. these members can return a not implemented error if the device author chooses not to implement that functionality.

Important

Even when functionality is not implemented, optional members must be present in the interface to avoid clients receiving missing member or similar errors.

Deprecated

ASCOM’s defintiion of deprecated is: There are other ways to implement this functionality, different members or mechanics are now preferred over using this member.

Important

Deprecated does not mean “will be removed at a later date”, it only implies that an alternate approach is recommended. ASCOM will never remove a member from an interface definition because it will break clients that use that member.