1
0
mirror of https://github.com/f4exb/sdrangel.git synced 2025-09-02 13:17:48 -04:00

API: /sdrangel/featureset (POST, DELETE) implemetned with 202 but messages are not processed yet

This commit is contained in:
f4exb 2021-08-21 13:14:48 +02:00
parent a36867af66
commit d07f7fbb8a
3 changed files with 63 additions and 12 deletions

View File

@ -39,6 +39,8 @@ MESSAGE_CLASS_DEFINITION(MainCore::MsgSaveFeatureSetPreset, Message)
MESSAGE_CLASS_DEFINITION(MainCore::MsgDeleteFeatureSetPreset, Message) MESSAGE_CLASS_DEFINITION(MainCore::MsgDeleteFeatureSetPreset, Message)
MESSAGE_CLASS_DEFINITION(MainCore::MsgAddDeviceSet, Message) MESSAGE_CLASS_DEFINITION(MainCore::MsgAddDeviceSet, Message)
MESSAGE_CLASS_DEFINITION(MainCore::MsgRemoveLastDeviceSet, Message) MESSAGE_CLASS_DEFINITION(MainCore::MsgRemoveLastDeviceSet, Message)
MESSAGE_CLASS_DEFINITION(MainCore::MsgAddFeatureSet, Message)
MESSAGE_CLASS_DEFINITION(MainCore::MsgRemoveLastFeatureSet, Message)
MESSAGE_CLASS_DEFINITION(MainCore::MsgSetDevice, Message) MESSAGE_CLASS_DEFINITION(MainCore::MsgSetDevice, Message)
MESSAGE_CLASS_DEFINITION(MainCore::MsgAddChannel, Message) MESSAGE_CLASS_DEFINITION(MainCore::MsgAddChannel, Message)
MESSAGE_CLASS_DEFINITION(MainCore::MsgDeleteChannel, Message) MESSAGE_CLASS_DEFINITION(MainCore::MsgDeleteChannel, Message)

View File

@ -250,8 +250,7 @@ public:
public: public:
int getDirection() const { return m_direction; } int getDirection() const { return m_direction; }
static MsgAddDeviceSet* create(int direction) static MsgAddDeviceSet* create(int direction) {
{
return new MsgAddDeviceSet(direction); return new MsgAddDeviceSet(direction);
} }
@ -268,8 +267,7 @@ public:
MESSAGE_CLASS_DECLARATION MESSAGE_CLASS_DECLARATION
public: public:
static MsgRemoveLastDeviceSet* create() static MsgRemoveLastDeviceSet* create() {
{
return new MsgRemoveLastDeviceSet(); return new MsgRemoveLastDeviceSet();
} }
@ -279,6 +277,34 @@ public:
{ } { }
}; };
class SDRBASE_API MsgAddFeatureSet : public Message {
MESSAGE_CLASS_DECLARATION
public:
static MsgAddFeatureSet* create() {
return new MsgAddFeatureSet();
}
private:
MsgAddFeatureSet() :
Message()
{ }
};
class SDRBASE_API MsgRemoveLastFeatureSet : public Message {
MESSAGE_CLASS_DECLARATION
public:
static MsgRemoveLastFeatureSet* create() {
return new MsgRemoveLastFeatureSet();
}
private:
MsgRemoveLastFeatureSet() :
Message()
{ }
};
class SDRBASE_API MsgSetDevice : public Message { class SDRBASE_API MsgSetDevice : public Message {
MESSAGE_CLASS_DECLARATION MESSAGE_CLASS_DECLARATION

View File

@ -1408,7 +1408,11 @@ int WebAPIAdapter::instanceDeviceSetDelete(
SWGSDRangel::SWGSuccessResponse& response, SWGSDRangel::SWGSuccessResponse& response,
SWGSDRangel::SWGErrorResponse& error) SWGSDRangel::SWGErrorResponse& error)
{ {
#ifdef SERVER_MODE
if (m_mainCore->m_deviceSets.size() != 0)
#else
if (m_mainCore->m_deviceSets.size() > 1) if (m_mainCore->m_deviceSets.size() > 1)
#endif
{ {
MainCore::MsgRemoveLastDeviceSet *msg = MainCore::MsgRemoveLastDeviceSet::create(); MainCore::MsgRemoveLastDeviceSet *msg = MainCore::MsgRemoveLastDeviceSet::create();
m_mainCore->m_mainMessageQueue->push(msg); m_mainCore->m_mainMessageQueue->push(msg);
@ -1431,22 +1435,41 @@ int WebAPIAdapter::instanceFeatureSetPost(
SWGSDRangel::SWGSuccessResponse& response, SWGSDRangel::SWGSuccessResponse& response,
SWGSDRangel::SWGErrorResponse& error) SWGSDRangel::SWGErrorResponse& error)
{ {
(void) response; (void) error;
error.init(); MainCore::MsgAddFeatureSet *msg = MainCore::MsgAddFeatureSet::create();
*error.getMessage() = "Not implemented"; m_mainCore->m_mainMessageQueue->push(msg);
return 501; response.init();
*response.getMessage() = QString("Message to add a new feature set (MsgAddFeatureSet) was submitted successfully");
return 202;
} }
int WebAPIAdapter::instanceFeatureSetDelete( int WebAPIAdapter::instanceFeatureSetDelete(
SWGSDRangel::SWGSuccessResponse& response, SWGSDRangel::SWGSuccessResponse& response,
SWGSDRangel::SWGErrorResponse& error) SWGSDRangel::SWGErrorResponse& error)
{ {
(void) response; #ifdef SERVER_MODE
error.init(); if (m_mainCore->m_featureSets.size() != 0)
*error.getMessage() = "Not implemented"; #else
if (m_mainCore->m_featureSets.size() > 1)
#endif
{
MainCore::MsgRemoveLastFeatureSet *msg = MainCore::MsgRemoveLastFeatureSet::create();
m_mainCore->m_mainMessageQueue->push(msg);
return 501; response.init();
*response.getMessage() = QString("Message to remove last feature set (MsgRemoveLastFeatureSet) was submitted successfully");
return 202;
}
else
{
error.init();
*error.getMessage() = "No more feature sets to be removed";
return 404;
}
} }
int WebAPIAdapter::devicesetGet( int WebAPIAdapter::devicesetGet(