Теперь у меня есть библиотека, которая возвращает мне структуру, которая содержит перечисление.Теперь, если я попытаюсь зарегистрировать результат, я получу это:
код:
VIDYO_CLIENT_LOG_INFO_FORMATTED("GuiOnOutEvent NDKMETHOD License Error: errorid=%d vmConnectionPath=%d OutOfLicense=%d Result=%d Fault=%d", error, vmConnectionPath, OutOfLicenses, eventLicense->result, eventLicense->fault);
Что меня интересует, так это событие eventLicense-> result, или "Result ="% d "Это то, что я получаю:
GuiOnOutEvent NDKMETHOD License Error: errorid=0 vmConnectionPath=1 OutOfLicense=1 Result=26 Fault=0 [ VidyoClientVcsoapThread_3, <unknown func>, app/src/main/jni/ndkVidyoSample.c:62 ]
Как видите, результат: 26. Но мой Enum выглядит следующим образом:
typedef enum VidyoClientSoapResultCode_
{
VIDYO_CLIENT_SOAP_RESULT_FAILURE, /*!< Result is some unknown general failure */
VIDYO_CLIENT_SOAP_RESULT_SUCCESS, /*!< Result is success */
VIDYO_CLIENT_SOAP_RESULT_NOT_LICENSED, /*!< Not licensed */
VIDYO_CLIENT_SOAP_RESULT_SEAT_LICENSE_EXPIRED, /*!< Seat license expired */
VIDYO_CLIENT_SOAP_RESULT_WRONG_PIN, /*!< Wrong PIN */
VIDYO_CLIENT_SOAP_RESULT_CONFERENCE_LOCKED, /*!< Conference locked */
VIDYO_CLIENT_SOAP_RESULT_ROOM_DISABLED, /*!< Room disabled */
VIDYO_CLIENT_SOAP_RESULT_GENERAL_FAULT, /*!< General Fault */
VIDYO_CLIENT_SOAP_RESULT_INVALID_ARGUMENT_FAULT,/*!< Invalid argument fault */
VIDYO_CLIENT_SOAP_RESULT_MEMBER_NOT_ONLINE, /*!< Status of member is not online */
VIDYO_CLIENT_SOAP_RESULT_NOT_OWNER_OF_ROOM, /*!< Not owner of room */
VIDYO_CLIENT_SOAP_RESULT_USER_NOT_FOUND, /*!< Specified user is not found */
VIDYO_CLIENT_SOAP_RESULT_UNEXPECTED_SUBELEMENT_IN_MESSAGE, /*!< Unexpected sub element in SOAP message */
VIDYO_CLIENT_SOAP_RESULT_END_POINT_NOT_FOUND, /*!< Endpoint not found */
VIDYO_CLIENT_SOAP_RESULT_FAILED_PLACE_DIRECT_CALL, /*!< Failed to place a direct call */
VIDYO_CLIENT_SOAP_RESULT_IPC_JOIN_FAILURE, /*!< Failure to join room on other portal */
VIDYO_CLIENT_SOAP_RESULT_ALL_LINES_IN_USE, /*!< All lines are in use */
} VidyoClientSoapResultCode;
Мой Enum несодержит 26 элементов, поэтому я не знаю, что это за ошибка.Как я могу проверить это?
РЕДАКТИРОВАТЬ:
Я изменил свой журнал, чтобы показать это:
VidyoClientSoapResultCode result = eventLicense->result;
VidyoClientSoapFault fault = eventLicense->fault;
VIDYO_CLIENT_LOG_INFO_FORMATTED("GuiOnOutEvent NDKMETHOD License Error: errorid=%d vmConnectionPath=%d OutOfLicense=%d Result=%d Fault=%d", error, vmConnectionPath, OutOfLicenses, result, fault);
Просто чтобы быть уверенным, что я создаю объекты для них перед входом в систему какдесятичная дробьТеперь, насколько я знаю, для ENUM десятичный - это способ записи, правильно?Но все же, теперь я получаю еще более странный ответ:
10-11 08:34:43.954: I/VidyoClinetLib(7103): 10-11 08:34:43.965 INFO AppGui GuiOnOutEvent NDKMETHOD License Error: errorid=0 vmConnectionPath=1 OutOfLicense=1 Result=21324 Fault=32 [ VidyoClientVcsoapThread_3, <unknown func>, app/src/main/jni/ndkVidyoSample.c:64 ]
Может быть, эти новые данные помогут?Я имею в виду 21324 выглядит странно, но он постоянен, теперь каждый раз при ошибке я получаю это.Но это точно не в 0:31, как сказал Олив
Увидев комментарии Демосфена, я записал все значения ENUM, и в действительности они равны 0-16.(17 элементов).Так что все еще немного сбит с толку, может я не правильно вхожу в систему?