include di librerie

ciao ,
in questi giorni sto cercando di implementare una libreria fatta da me in un progetto arduino e ho creato la seguente libreria solo che non capisco come poter includere in essa altre librerie (Create da me o quell fornite da arduino)
ad esempio in questo caso cerco di includere la libreria WiFi.h ma mi trovo costretto a chiamarla sia all’interno della libreria sia all’interno del file.ino.

dove è l’errore?
asdWifi.h

#ifndef asdWifi_h
#define asdWifi_h
#if defined(ARDUINO) && ARDUINO >= 100
  #include "Arduino.h"
#else
  #include "WProgram.h"
#endif

class asdWifi{
public:
	asdWifi();
	int  checkShield();
};
#endif

asdWifi.cpp

#if defined(ARDUINO) && ARDUINO >= 100
  #include "Arduino.h"
#else
  #include "WProgram.h"
#endif

#include "asdWifi.h"

extern "C" {
#include <WiFi.h>
#include <WiFiClient.h>
#include <WiFiServer.h>a
}
int status = WL_IDLE_STATUS;
WiFiClient client;

asdWifi::asdWifi(){
}

int asdWifi::checkShield(){
  if (WiFi.status() == WL_NO_SHIELD) 
	return 1;
  else
	return 0;
}

Nel codice di asdWiFi.h c'è anche un errore, non hai messo l'#if per controllare se ARDUINO esiste ed è maggiore/uguale a 100. Infatti nella compilazione ti da un errore su #endif. Una volta messo il check per capire la versione dell'Arduino nel file .h non devi rimetterlo anche nel file .cpp

Poi come inizializzi ed usi la classe? Potresti mettere lo sketch che stai usando?

Perché includi la WiFi con l'extern "C"?

hai ragione ho corretto il codice sopra riportato in realtà era un refuso di copia incolla e ho dimenticato di metterlo dentro.

la classe la inizializzo menttendo nel file .ino:

#include "asdWiFi.h"

asdWiFi oggetto = asdWifi();

il problema è che io voglio includere la libreria wifi dentro in asdWiFi cosi da non doverla richiamare anche nel file .ino.

external è stato l’ultimo tentativo che ho fatto prima scrivevo semplicemente :

#include "WiFi.h" o  #include <WiFi.h>

nonostante queste scritture io l’include lo devo mettere sia nella libreria sia nel file ino… e non capisco perchè