FskErr KprWebSocketEndpointConnect(KprWebSocketEndpoint self, char *url, char *origin)
{
	FskErr err = kFskErrNone;
	
	self->url = FskStrDoCopy(url);
	bailIfNULL(self->url);
	bailIfError(FskStrParseUrl(self->url, &self->parts));
	if (!KprWebSocketEndpointCheckURL(self)) {
		bailIfError(kFskErrInvalidParameter);
	}
	
	self->isSecure = (FskStrCompare(self->parts->scheme, "wss") == 0);
	
	if (origin) {
		self->origin = FskStrDoCopy(origin);
		bailIfNULL(self->origin);
	}
	
	self->state = kKprWebSocketStateConnecting;
	
	INVOKE_AFTER1(KprWebSocketEndpointStartConnect, self);
	
bail:
	return err;
}
Exemple #2
0
void KPR_mqttclient_destructor(void *it)
{
	KPR_MQTTClientRecord *self = it;

	if (self) {
		INVOKE_AFTER1(KprMQTTClientDispose, self->client);

		FskMemPtrDispose(self);
	}
}
Exemple #3
0
void KPR_websocketclient(void *it)
{
	KPR_WebSocketClientRecord *self = it;
	if (self) {
		if (self->server) {
			KPR_WebSocketServerClientWillDispose(self->server, self);
		}

		self->endpoint->openCallback = NULL;
		self->endpoint->closeCallback = NULL;
		self->endpoint->textCallback = NULL;
		self->endpoint->binaryCallback = NULL;
		self->endpoint->errorCallback = NULL;
		INVOKE_AFTER1(KprWebSocketEndpointDispose, self->endpoint);
		FskMemPtrDispose(self);
	}
}
Exemple #4
0
void KPR_mqttclient_destructor(void *it)
{
	KPR_MQTTClientRecord *self = it;

	if (self) {
		self->client->connectCallback = NULL;
		self->client->subscribeCallback = NULL;
		self->client->unsubscribeCallback = NULL;
		self->client->publishCallback = NULL;
		self->client->messageCallback = NULL;
		self->client->disconnectCallback = NULL;
		self->client->errorCallback = NULL;

		INVOKE_AFTER1(KprMQTTClientDispose, self->client);

		FskMemPtrDispose(self);
	}
}