The main purpose of this version is to make it easier to know how does Mid replies work and make easier to use too.
Improvements
Interface segregation to represent types of mid:
IAcknowledge
IAcknowledgeable<TAckMid>
IAnswerableBy<TAnswerMid>
IAcceptableCommand
IDeclinableCommand
ISubscription
IUnsubscription
New Features
Along with interfaces, added easy-use extensions:
GetAcknowledge<TAckMid>() to get the acknowledge for the mid instance instead of finding yourself which is the ack mid
GetReply<TAnswerMid>() to generate the respective reply mid of the instance instead of finding yourself which one is the reply mid. (for replies that have additional params, a raw instance will be generate with the same revision but you'll have too set other parameters by yourself)
GetReply<TAnswerMid>(int revision) same as above, however you can inform the informed revision
GetAcceptCommand<TAcceptedMid> generate Mid0005 to the accepted mid
GetDeclinedCommand<TAcceptedMid> generate Mid0004 to the declined mid with informed error
AssertAndGetDeclineCommand<TDeclinedMid> same as above, however it ensures it's a documented error that you informed, if not, an ArgumentException is thrown
Changes
The main purpose of this version is to make it easier to know how does Mid replies work and make easier to use too.
Improvements
IAcknowledge
IAcknowledgeable<TAckMid>
IAnswerableBy<TAnswerMid>
IAcceptableCommand
IDeclinableCommand
ISubscription
IUnsubscription
New Features
GetAcknowledge<TAckMid>()
to get the acknowledge for the mid instance instead of finding yourself which is the ack midGetReply<TAnswerMid>()
to generate the respective reply mid of the instance instead of finding yourself which one is the reply mid. (for replies that have additional params, a raw instance will be generate with the same revision but you'll have too set other parameters by yourself)GetReply<TAnswerMid>(int revision)
same as above, however you can inform the informed revisionGetAcceptCommand<TAcceptedMid>
generateMid0005
to the accepted midGetDeclinedCommand<TAcceptedMid>
generateMid0004
to the declined mid with informed errorAssertAndGetDeclineCommand<TDeclinedMid>
same as above, however it ensures it's a documented error that you informed, if not, anArgumentException
is thrownErrors
:WRONG_TOOL_TYPE_TO_PSET_DOWNLOAD_CONNECTED
=> 26TOOL_IS_INACCESSIBLE
=> 27JOB_ABORTION_IS_IN_PROGRESS
=> 28,TOOL_DOES_NOT_EXIST
=> 29OTHER_MASTER_CLIENT_ALREADY_CONNECTED
=> 35LOCK_TYPE_NOT_SUPPORTED
=> 36PAIRING_FAILED
=> 61PAIRING_DENIED
=> 62PAIRING_OR_PAIRING_ABORTION_ATTEMPT_ON_WRONG_TOOLTYPE
=> 63PAIRING_ABORTION_DENIED
=> 64PAIRING_ABORTION_FAILED
=> 65PAIRING_DISCONNECTION_FAILED
=> 66PAIRING_IN_PROGRESS_OR_ALREADY_DONE
=> 67PAIRING_DENIED_NO_PROGRAM_CONTROL
=> 68UNSUPPORTED_EXTRA_DATA_REVISION
=> 69SUBSCRIBED_MID_UNSUPPORTED
=> 73SUBSCRIBED_MID_REVISION_UNSUPPORTED
=> 74REQUESTED_MID_UNSUPPORTED
=> 75REQUESTED_MID_REVISION_UNSUPPORTED
=> 76REQUESTED_ON_SPECIFIC_DATA_NOT_SUPPORTED
=> 77SUBSCRIPTION_ON_SPECIFIC_DATA_NOT_SUPPORTED
=> 78AUDI_EMERGENCY_STATUS_SUBSCRIPTION_EXISTS
=> 80AUDI_EMERGENCY_STATUS_SUBSCRIPTION_DOESNT_EXISTS
=> 81