Skip to content

(v2) Update to libupnp 1.8 - #148

Merged
Vollstrecker merged 4 commits into
amule-project:masterfrom
sc0w:master
Apr 30, 2019
Merged

(v2) Update to libupnp 1.8#148
Vollstrecker merged 4 commits into
amule-project:masterfrom
sc0w:master

Conversation

@sc0w

@sc0w sc0w commented Nov 24, 2018

Copy link
Copy Markdown
Member

The build is ok here with libupnp 1.6.19 and 1.8.4

@sc0w sc0w mentioned this pull request Nov 24, 2018
@sc0w

sc0w commented Nov 24, 2018

Copy link
Copy Markdown
Member Author

@gonosztopi

I see a lot of more warnings without this PR building #135 with libupnp 1.6.19:

The #if blocks are needed, or, just to remove the support for libupnp 1.6

../../src/UPnPBase.cpp: In static member function ‘static int CUPnPControlPoint::Callback(Upnp_EventType_e, void*, void*)’:
../../src/UPnPBase.cpp:1156:3: error: ‘UpnpDiscovery’ was not declared in this scope
   UpnpDiscovery *d_event = (UpnpDiscovery *)Event;
   ^~~~~~~~~~~~~
../../src/UPnPBase.cpp:1156:3: note: suggested alternative: ‘Upnp_Discovery’
   UpnpDiscovery *d_event = (UpnpDiscovery *)Event;
   ^~~~~~~~~~~~~
   Upnp_Discovery
../../src/UPnPBase.cpp:1156:18: error: ‘d_event’ was not declared in this scope
   UpnpDiscovery *d_event = (UpnpDiscovery *)Event;
                  ^~~~~~~
../../src/UPnPBase.cpp:1156:18: note: suggested alternative: ‘wxEvent’
   UpnpDiscovery *d_event = (UpnpDiscovery *)Event;
                  ^~~~~~~
                  wxEvent
../../src/UPnPBase.cpp:1156:44: error: expected primary-expression before ‘)’ token
   UpnpDiscovery *d_event = (UpnpDiscovery *)Event;
                                            ^
../../src/UPnPBase.cpp:1158:17: error: ‘UpnpDiscovery_get_ErrCode’ was not declared in this scope
   int errCode = UpnpDiscovery_get_ErrCode(d_event);
                 ^~~~~~~~~~~~~~~~~~~~~~~~~
../../src/UPnPBase.cpp:1164:26: error: ‘UpnpDiscovery_get_Location_cstr’ was not declared in this scope
   const char *location = UpnpDiscovery_get_Location_cstr(d_event);
                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../src/UPnPBase.cpp:1202:19: error: ‘UpnpDiscovery_get_Expires’ was not declared in this scope
     int expires = UpnpDiscovery_get_Expires(d_event);
                   ^~~~~~~~~~~~~~~~~~~~~~~~~
../../src/UPnPBase.cpp:1225:3: error: ‘UpnpDiscovery’ was not declared in this scope
   UpnpDiscovery *dab_event = (UpnpDiscovery *)Event;
   ^~~~~~~~~~~~~
../../src/UPnPBase.cpp:1225:3: note: suggested alternative: ‘Upnp_Discovery’
   UpnpDiscovery *dab_event = (UpnpDiscovery *)Event;
   ^~~~~~~~~~~~~
   Upnp_Discovery
../../src/UPnPBase.cpp:1225:18: error: ‘dab_event’ was not declared in this scope
   UpnpDiscovery *dab_event = (UpnpDiscovery *)Event;
                  ^~~~~~~~~
../../src/UPnPBase.cpp:1225:18: note: suggested alternative: ‘sigevent’
   UpnpDiscovery *dab_event = (UpnpDiscovery *)Event;
                  ^~~~~~~~~
                  sigevent
../../src/UPnPBase.cpp:1225:46: error: expected primary-expression before ‘)’ token
   UpnpDiscovery *dab_event = (UpnpDiscovery *)Event;
                                              ^
../../src/UPnPBase.cpp:1226:17: error: ‘UpnpDiscovery_get_ErrCode’ was not declared in this scope
   int errCode = UpnpDiscovery_get_ErrCode(dab_event);
                 ^~~~~~~~~~~~~~~~~~~~~~~~~
../../src/UPnPBase.cpp:1233:25: error: ‘UpnpDiscovery_get_DeviceType_cstr’ was not declared in this scope
   std::string devType = UpnpDiscovery_get_DeviceType_cstr(dab_event);
                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../src/UPnPBase.cpp:1239:5: error: ‘UpnpDiscovery_get_DeviceID_cstr’ was not declared in this scope
     UpnpDiscovery_get_DeviceID_cstr(dab_event);
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../src/UPnPBase.cpp:1247:3: error: ‘UpnpEvent’ was not declared in this scope
   UpnpEvent *e_event = (UpnpEvent *)Event;
   ^~~~~~~~~
../../src/UPnPBase.cpp:1247:3: note: suggested alternative: ‘Upnp_Event’
   UpnpEvent *e_event = (UpnpEvent *)Event;
   ^~~~~~~~~
   Upnp_Event
../../src/UPnPBase.cpp:1247:14: error: ‘e_event’ was not declared in this scope
   UpnpEvent *e_event = (UpnpEvent *)Event;
              ^~~~~~~
../../src/UPnPBase.cpp:1247:14: note: suggested alternative: ‘wxEvent’
   UpnpEvent *e_event = (UpnpEvent *)Event;
              ^~~~~~~
              wxEvent
../../src/UPnPBase.cpp:1247:36: error: expected primary-expression before ‘)’ token
   UpnpEvent *e_event = (UpnpEvent *)Event;
                                    ^
../../src/UPnPBase.cpp:1248:18: error: ‘UpnpEvent_get_EventKey’ was not declared in this scope
   int eventKey = UpnpEvent_get_EventKey(e_event);
                  ^~~~~~~~~~~~~~~~~~~~~~
../../src/UPnPBase.cpp:1248:18: note: suggested alternative: ‘UpnpString_get_Length’
   int eventKey = UpnpEvent_get_EventKey(e_event);
                  ^~~~~~~~~~~~~~~~~~~~~~
                  UpnpString_get_Length
../../src/UPnPBase.cpp:1250:4: error: ‘UpnpEvent_get_ChangedVariables’ was not declared in this scope
    UpnpEvent_get_ChangedVariables(e_event);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../src/UPnPBase.cpp:1250:4: note: suggested alternative: ‘changedVariables’
    UpnpEvent_get_ChangedVariables(e_event);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    changedVariables
../../src/UPnPBase.cpp:1251:27: error: ‘UpnpEvent_get_SID_cstr’ was not declared in this scope
   const std::string sid = UpnpEvent_get_SID_cstr(e_event);
                           ^~~~~~~~~~~~~~~~~~~~~~
../../src/UPnPBase.cpp:1268:3: error: ‘UpnpEventSubscribe’ was not declared in this scope
   UpnpEventSubscribe *es_event = (UpnpEventSubscribe *)Event;
   ^~~~~~~~~~~~~~~~~~
../../src/UPnPBase.cpp:1268:3: note: suggested alternative: ‘Upnp_Event_Subscribe’
   UpnpEventSubscribe *es_event = (UpnpEventSubscribe *)Event;
   ^~~~~~~~~~~~~~~~~~
   Upnp_Event_Subscribe
../../src/UPnPBase.cpp:1268:23: error: ‘es_event’ was not declared in this scope
   UpnpEventSubscribe *es_event = (UpnpEventSubscribe *)Event;
                       ^~~~~~~~
../../src/UPnPBase.cpp:1268:23: note: suggested alternative: ‘sigevent’
   UpnpEventSubscribe *es_event = (UpnpEventSubscribe *)Event;
                       ^~~~~~~~
                       sigevent
../../src/UPnPBase.cpp:1268:55: error: expected primary-expression before ‘)’ token
   UpnpEventSubscribe *es_event = (UpnpEventSubscribe *)Event;
                                                       ^
../../src/UPnPBase.cpp:1269:17: error: ‘UpnpEventSubscribe_get_ErrCode’ was not declared in this scope
   int errCode = UpnpEventSubscribe_get_ErrCode(es_event);
                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../src/UPnPBase.cpp:1269:17: note: suggested alternative: ‘Upnp_Event_Subscribe’
   int errCode = UpnpEventSubscribe_get_ErrCode(es_event);
                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                 Upnp_Event_Subscribe
../../src/UPnPBase.cpp:1295:3: error: ‘UpnpEventSubscribe’ was not declared in this scope
   UpnpEventSubscribe *es_event = (UpnpEventSubscribe *)Event;
   ^~~~~~~~~~~~~~~~~~
../../src/UPnPBase.cpp:1295:3: note: suggested alternative: ‘Upnp_Event_Subscribe’
   UpnpEventSubscribe *es_event = (UpnpEventSubscribe *)Event;
   ^~~~~~~~~~~~~~~~~~
   Upnp_Event_Subscribe
../../src/UPnPBase.cpp:1295:23: error: ‘es_event’ was not declared in this scope
   UpnpEventSubscribe *es_event = (UpnpEventSubscribe *)Event;
                       ^~~~~~~~
../../src/UPnPBase.cpp:1295:23: note: suggested alternative: ‘sigevent’
   UpnpEventSubscribe *es_event = (UpnpEventSubscribe *)Event;
                       ^~~~~~~~
                       sigevent
../../src/UPnPBase.cpp:1295:55: error: expected primary-expression before ‘)’ token
   UpnpEventSubscribe *es_event = (UpnpEventSubscribe *)Event;
                                                       ^
../../src/UPnPBase.cpp:1300:4: error: ‘UpnpEventSubscribe_get_PublisherUrl_cstr’ was not declared in this scope
    UpnpEventSubscribe_get_PublisherUrl_cstr(es_event);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../src/UPnPBase.cpp:1308:18: error: ‘UpnpEventSubscribe_get_ErrCode’ was not declared in this scope
    int errCode = UpnpEventSubscribe_get_ErrCode(es_event);
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../src/UPnPBase.cpp:1308:18: note: suggested alternative: ‘Upnp_Event_Subscribe’
    int errCode = UpnpEventSubscribe_get_ErrCode(es_event);
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                  Upnp_Event_Subscribe
../../src/UPnPBase.cpp:1338:3: error: ‘UpnpActionComplete’ was not declared in this scope
   UpnpActionComplete *a_event = (UpnpActionComplete *)Event;
   ^~~~~~~~~~~~~~~~~~
../../src/UPnPBase.cpp:1338:3: note: suggested alternative: ‘Upnp_Action_Complete’
   UpnpActionComplete *a_event = (UpnpActionComplete *)Event;
   ^~~~~~~~~~~~~~~~~~
   Upnp_Action_Complete
../../src/UPnPBase.cpp:1338:23: error: ‘a_event’ was not declared in this scope
   UpnpActionComplete *a_event = (UpnpActionComplete *)Event;
                       ^~~~~~~
../../src/UPnPBase.cpp:1338:23: note: suggested alternative: ‘wxEvent’
   UpnpActionComplete *a_event = (UpnpActionComplete *)Event;
                       ^~~~~~~
                       wxEvent
../../src/UPnPBase.cpp:1338:54: error: expected primary-expression before ‘)’ token
   UpnpActionComplete *a_event = (UpnpActionComplete *)Event;
                                                      ^
../../src/UPnPBase.cpp:1339:17: error: ‘UpnpActionComplete_get_ErrCode’ was not declared in this scope
   int errCode = UpnpActionComplete_get_ErrCode(a_event);
                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../src/UPnPBase.cpp:1339:17: note: suggested alternative: ‘Upnp_Action_Complete’
   int errCode = UpnpActionComplete_get_ErrCode(a_event);
                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                 Upnp_Action_Complete
../../src/UPnPBase.cpp:1341:4: error: ‘UpnpActionComplete_get_ActionResult’ was not declared in this scope
    UpnpActionComplete_get_ActionResult(a_event);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../src/UPnPBase.cpp:1361:3: error: ‘UpnpStateVarComplete’ was not declared in this scope
   UpnpStateVarComplete *sv_event = (UpnpStateVarComplete *)Event;
   ^~~~~~~~~~~~~~~~~~~~
../../src/UPnPBase.cpp:1361:3: note: suggested alternative: ‘Upnp_State_Var_Complete’
   UpnpStateVarComplete *sv_event = (UpnpStateVarComplete *)Event;
   ^~~~~~~~~~~~~~~~~~~~
   Upnp_State_Var_Complete
../../src/UPnPBase.cpp:1361:25: error: ‘sv_event’ was not declared in this scope
   UpnpStateVarComplete *sv_event = (UpnpStateVarComplete *)Event;
                         ^~~~~~~~
../../src/UPnPBase.cpp:1361:25: note: suggested alternative: ‘sigevent’
   UpnpStateVarComplete *sv_event = (UpnpStateVarComplete *)Event;
                         ^~~~~~~~
                         sigevent
../../src/UPnPBase.cpp:1361:59: error: expected primary-expression before ‘)’ token
   UpnpStateVarComplete *sv_event = (UpnpStateVarComplete *)Event;
                                                           ^
../../src/UPnPBase.cpp:1362:17: error: ‘UpnpStateVarComplete_get_ErrCode’ was not declared in this scope
   int errCode = UpnpStateVarComplete_get_ErrCode(sv_event);
                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../src/UPnPBase.cpp:1362:17: note: suggested alternative: ‘Upnp_State_Var_Complete’
   int errCode = UpnpStateVarComplete_get_ErrCode(sv_event);
                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                 Upnp_State_Var_Complete
../../src/UPnPBase.cpp:1133:67: warning: unused parameter ‘Event’ [-Wunused-parameter]
 int CUPnPControlPoint::Callback(Upnp_EventType_e EventType, void *Event, void * /*Cookie*/)
                                                             ~~~~~~^~~~~

@gonosztopi

Copy link
Copy Markdown
Member

That's possible that 1.6.24 is closer to 1.8 than 1.6.19, that's why I didn't get those errors.

But I still have the question about that #if block I commented on - is there any difference between the two versions other than line-breaking?

@sc0w

sc0w commented Nov 24, 2018

Copy link
Copy Markdown
Member Author

I added code from git master in the #if blocks to make libupnp 1.6 buildable.

Anyway, I think the best choice is just merge #135 and change the minimum libupnp requirement version to 1.8

@sc0w

sc0w commented Nov 24, 2018

Copy link
Copy Markdown
Member Author

I noticed now the code you are mentioned, @gonosztopi please review again.

@sc0w

sc0w commented Nov 26, 2018

Copy link
Copy Markdown
Member Author

and one question, we need the first commit?

"Add a .gitignore to the project"

@mrjimenez

Copy link
Copy Markdown
Contributor

and one question, we need the first commit?

"Add a .gitignore to the project"

Well, for those who use git from the command line like me, this is quite handy. Makes a lot more easy to spot your changes and see if the current directory is clean.

Strictly speaking, this is not necessary, but practically speaking, it surprises me that no one has already added it.

Regards!

@mrjimenez

Copy link
Copy Markdown
Contributor

The fix to compile with 1.6.x looks fine to me, pretty clean.
Nice job!

@Vollstrecker
Vollstrecker merged commit e64cf6b into amule-project:master Apr 30, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants