Particle.subscribe() warning when using in class

I have a class call CloudManager that is subscribing to cloud events. Following the docs, I have this:

class CloudManager {
public:
  CloudManager(){
    Particle.subscribe("hook-response/getSunrise", &CloudManager::getSunriseResponseHandler, this);
    Particle.subscribe("hook-response/getGoogleDocs", &CloudManager::getGoogleDocsResponseHandler, this);
  }

private:

  void getSunriseResponseHandler(const char *, const char *);
  void getGoogleDocsResponseHandler(const char *event, const char *data);
};

When I compile my code I get the following warning: (sorry for horizontal scroll)

 warning: 'bool CloudClass::subscribe(const char*, void (T::*)(const char*, const char*), T*) [with T = CloudManager]' is deprecated: Beginning with 0.8.0 release, Particle.subscribe() will require event scope to be specified explicitly. Define PARTICLE_USING_DEPRECATED_API macro to avoid this warning. [-Wdeprecated-declarations]
     Particle.subscribe("hook-response/getGoogleDocs", &CloudManager::getGoogleDocsResponseHandler, this);

I have tried replacing “this” with “MY_DEVICES” but that will not compile.

Does anyone know the “proper” way to construct a subscription method in a class?

Thanks!

Then it would be good to show what exactly the compile chokes up about this :wink:
Also how have you worded this?
Replacing this whith MY_DEVICES is definetly not the way. this is the pointer that references the "self" instance of the object and MY_DEVICES is no such pointer.

Try adding MY_DEVICES as extra parameter.

Adding MY_DEVICES instead of replacing “this” with it was the way to go. Thanks!

Wondering if there’s additional documentation other than the docs for Particle.subscribe(). Is there a place to go that spells out all the ways it can be called?

You can browse the open source repo that shows how things are declared and implemented

The embarrassing part for me is I actually looked in that exact file on github and wasn’t able to find that line and decipher an answer.

Thanks for tracking this down for me.