Lovense Integration
ILovenseAdapter Class Referenceabstract

Abstract base class for Lovense adapters.
These adapters handle the communication with the Lovense API's and hold the toy objects for the toys which are connected to the respective Lovense App.
Each Lovense API+Platform combination has different requirements, so they get their own adapter implementation.
Multiple adapters can be active at the same time, one for each Lovense App instance found in the local network. More...

#include <LovenseIntegration/Source/LovenseIntegration/Classes/Adapters/ILovenseAdapter.h>

Inheritance diagram for ILovenseAdapter:
LovenseConnectAdapterBase LovenseRemoteAdapterBase LovenseTestAdapter LovenseConnectDesktopAdapter LovenseConnectMobileAdapter LovenseRemoteDesktopAdapter LovenseRemoteMobileAdapter LovenseConnectAndroidAdapter LovenseConnectIOSAdapter

Public Member Functions

const FORCEINLINE FLovenseAdapterDescriptionGetAdapterDescription ()
 The adapter description that was used to initialize this adapter. Holds (mostly) raw TryGetAdapterData() HTTP request json data for this adapter.
 
const TArray< TPair< FString, FTimerHandle > > GetToyTestTimerHandles ()
 Array of toy deviceId string and test timer handle.
This holds the toy deviceId so we can check if a toy is running a test command and to send a command to that toy to stop vibrating when the timer finishes.
 
virtual bool Initialize (FLovenseAdapterDescription &description)
 Initializes the adapter with the passed in adapter description. More...
 
virtual void Shutdown ()
 Deinitialize the adapter. This will stop any running test timers and clear toy objects.
 
virtual bool GetToys (FOnLovenseGetToysResponse callback)
 Polls the Lovense App for toys and creates toy objects for all received toys.
We always directly poll the respective Lovense Apps to get our toy info so we don't put unnecessary load on the Lovense servers. More...
 
virtual bool SendCommand_Test (const FString &toyId)
 See FLovenseManager::SendCommand_Test() for information on this command. More...
 
virtual bool SendCommand_Stop (const FString &parameters, const FString &toyId)
 See FLovenseManager::SendCommand_Stop() for information on this command. More...
 
virtual bool SendCommand_Vibrate (const FString &parameters, const FString &toyId, uint8 vibrationSpeed)
 See FLovenseManager::SendCommand_Vibrate() for information on this command. More...
 
virtual bool SendCommand_Vibrate1 (const FString &parameters, const FString &toyId, uint8 vibrationSpeed)
 See FLovenseManager::SendCommand_Vibrate1() for information on this command. More...
 
virtual bool SendCommand_Vibrate2 (const FString &parameters, const FString &toyId, uint8 vibrationSpeed)
 See FLovenseManager::SendCommand_Vibrate2() for information on this command. More...
 
virtual bool SendCommand_Rotate (const FString &parameters, const FString &toyId, uint8 rotationSpeed)
 See FLovenseManager::SendCommand_Rotate() for information on this command. More...
 
virtual bool SendCommand_RotateAntiClockwise (const FString &parameters, const FString &toyId, uint8 rotationSpeed)
 See FLovenseManager::SendCommand_RotateAntiClockwise() for information on this command. More...
 
virtual bool SendCommand_RotateClockwise (const FString &parameters, const FString &toyId, uint8 rotationSpeed)
 See FLovenseManager::SendCommand_RotateClockwise() for information on this command. More...
 
virtual bool SendCommand_RotateChange (const FString &parameters, const FString &toyId)
 See FLovenseManager::SendCommand_RotateChange() for information on this command. More...
 
virtual bool SendCommand_AirAuto (const FString &parameters, const FString &toyId, uint8 pulseSpeed)
 See FLovenseManager::SendCommand_AirAuto() for information on this command. More...
 
virtual bool SendCommand_AirIn (const FString &parameters, const FString &toyId)
 See FLovenseManager::SendCommand_AirIn() for information on this command. More...
 
virtual bool SendCommand_AirOut (const FString &parameters, const FString &toyId)
 See FLovenseManager::SendCommand_AirOut() for information on this command. More...
 
virtual bool SendCommand_Thrust (const FString &parameters, const FString &toyId, uint8 thrustingSpeed)
 See FLovenseManager::SendCommand_Vibrate() for information on this command. More...
 
virtual bool SendCommand_Suck (const FString &parameters, const FString &toyId, uint8 suctionSpeed)
 See FLovenseManager::SendCommand_Vibrate() for information on this command. More...
 
virtual bool SendCommand_Finger (const FString &parameters, const FString &toyId, uint8 fingeringSpeed)
 See FLovenseManager::SendCommand_Vibrate() for information on this command. More...
 
virtual bool SendCommand_Preset (const FString &parameters, const FString &toyId, uint8 pattern)
 See FLovenseManager::SendCommand_Preset() for information on this command. More...
 
virtual bool SendCommand_Battery (const FString &parameters, const FString &toyId, FOnLovenseResponse callback)
 See FLovenseManager::SendCommand_Battery() for information on this command. More...
 
virtual bool SendCommand_AVibrate (const FString &parameters, const FString &toyId, uint8 vibrationSpeed, int32 time)
 See FLovenseManager::SendCommand_AVibrate() for information on this command. More...
 
virtual bool SendCommand_AVibrate1 (const FString &parameters, const FString &toyId, uint8 vibrationSpeed, int32 time)
 See FLovenseManager::SendCommand_AVibrate1() for information on this command. More...
 
virtual bool SendCommand_AVibrate2 (const FString &parameters, const FString &toyId, uint8 vibrationSpeed, int32 time)
 See FLovenseManager::SendCommand_AVibrate2() for information on this command. More...
 
virtual bool SendCommand_ARotate (const FString &parameters, const FString &toyId, uint8 rotationSpeed, int32 time)
 See FLovenseManager::SendCommand_ARotate() for information on this command. More...
 
virtual bool SendCommand_AAirLevel (const FString &parameters, const FString &toyId, uint8 pulseSpeed, int32 time)
 See FLovenseManager::SendCommand_AAirLevel() for information on this command. More...
 
virtual bool SendCommand_AThrust (const FString &parameters, const FString &toyId, uint8 thrustingSpeed, int32 time)
 See FLovenseManager::SendCommand_AThrust() for information on this command. More...
 
virtual bool SendCommand_ASuck (const FString &parameters, const FString &toyId, uint8 suctionSpeed, int32 time)
 See FLovenseManager::SendCommand_ASuck() for information on this command. More...
 
virtual bool SendCommand_AFinger (const FString &parameters, const FString &toyId, uint8 fingeringSpeed, int32 time)
 See FLovenseManager::SendCommand_AFinger() for information on this command. More...
 
virtual bool SendCommand_APreset (const FString &parameters, const FString &toyId, const FString &patternName, int32 time)
 See FLovenseManager::SendCommand_APreset() for information on this command. More...
 
virtual bool SendCommand_AVibRotate (const FString &parameters, const FString &toyId, uint8 vibrationSpeed, uint8 rotationSpeed, int32 time)
 See FLovenseManager::SendCommand_AVibRotate() for information on this command. More...
 
virtual bool SendCommand_AVibAir (const FString &parameters, const FString &toyId, uint8 vibrationSpeed, uint8 pulseSpeed, int32 time)
 See FLovenseManager::SendCommand_AVibAir() for information on this command. More...
 
virtual bool SendCommand_AVibRotateAir (const FString &parameters, const FString &toyId, uint8 vibrationSpeed, uint8 rotationSpeed, uint8 pulseSpeed, int32 time)
 See FLovenseManager::SendCommand_AVibRotateAir() for information on this command. More...
 
virtual bool SendCommand_AAll (const FString &parameters, const FString &toyId, uint8 vibrationSpeed, uint8 rotationSpeed, uint8 pulseSpeed, uint8 thrustingSpeed, uint8 fingeringSpeed, uint8 suctionSpeed, int32 time)
 See FLovenseManager::SendCommand_AAll() for information on this command. More...
 
virtual bool SendCommand_Pattern (const FString &parameters, const FString &toyId, FLovensePattern &pattern)
 See FLovenseManager::SendCommand_Pattern() for information on this command. More...
 

Static Public Member Functions

static bool TryGetAdapterData (FOnLovenseGetAdaptersResponse callback)
 Polls "https://api.lovense-api.com/api/lan/v2/app" for toys in the local network.
This is the same for all API+Platform combinations, so we can make it static. More...
 

Protected Member Functions

 ILovenseAdapter (const ILovenseAdapter &)
 
virtual FHttpRequestPtr CreateHTTPRequest_GetToys ()=0
 Create HTTP request to poll for toy info.
Each API+Platform combination requires different HTTP request settings, so allow child classes to create the HTTP request with the correct settings.
 
virtual FHttpRequestPtr CreateHTTPRequest_SendCommand (const FString &parameters)=0
 Create HTTP request to send a command.
Each API+Platform combination requires different HTTP request settings, so allow child classes to create the HTTP request with the correct settings. More...
 
void CreateLovenseToy (FLovenseToyDescription &toyDescription)
 Creates a toy object and adds it to the toyStrongPointers array. Also adds the toyDescription to the responseData.toys array.
 
virtual void GetToysDataJsonObject (TSharedPtr< class FJsonObject > jsonObject, TSharedPtr< class FJsonObject > &outToysJsonObject)
 Retrieve a json object holding an array of toys. The json structure is different between the API's, so allow child classes to override this. More...
 
virtual void ParseToyDescription (FLovenseToyDescription &outToyDescription, TSharedPtr< class FJsonObject > toyObject)=0
 Parses a json object holding toy data and fills a toy description. The json structure is different between the API's, so allow child classes to override this. More...
 
virtual bool SendCommand (const FString &parameters, FOnLovenseResponse callback=FOnLovenseResponse())
 Send a HTTP request to the respective Lovense App. More...
 
virtual void OnToyTestTimerFinished ()
 Test timer finished event. Will set vibration speed of the relevant toy to 0 and remove the relevant timer handle from the toyTestTimerHandles array.
 

Static Protected Member Functions

static TSharedPtr< class ILovenseAdapterCreateLovenseAdapter (const FLovenseAdapterDescription &adapterDescription)
 Factory function for lovense adapters.
Checks the adapterDescription.platform and adapterDescription.appType strings to determine which adapter should be created.
 

Protected Attributes

TSharedPtr< class LovenseToyEventsWebSocketHandlerlovenseToyEventsWebSocketHandler
 
FLovenseAdapterDescription adapterDescription
 The adapter description that was used to initialize this adapter. Holds (mostly) raw TryGetAdapterData() HTTP request json data for this adapter.
 
FString deviceIp
 Device IP string (excluding port) the Lovense App instance is running on. Parsed in Initialize().
 
FString webProtocol
 The web protocol to use. Default is HTTPS, but will be set to HTTP if li.Request.UseDirectIP is true
as the SSL certificate does not work with direct IPs and we can't ignore SSL host verification without modifying the engine.
 
FLovenseGetToysResponseData responseData
 Holds (mostly) raw GetToys() HTTP request json data.
 
TArray< TStrongObjectPtr< class ULovenseToy > > toyStrongPointers
 Array of the Lovense toy object instances. Is strong object pointer so these UObjects aren't gc'd.
 
TArray< TPair< FString, FTimerHandle > > toyTestTimerHandles
 Array of toy deviceId string and test timer handle.
This holds the toy deviceId so we can check if a toy is running a test command and to send a command to that toy to stop vibrating when the timer finishes.
 

Friends

class FLovenseManager
 

Detailed Description

Abstract base class for Lovense adapters.
These adapters handle the communication with the Lovense API's and hold the toy objects for the toys which are connected to the respective Lovense App.
Each Lovense API+Platform combination has different requirements, so they get their own adapter implementation.
Multiple adapters can be active at the same time, one for each Lovense App instance found in the local network.

Member Function Documentation

◆ CreateHTTPRequest_SendCommand()

virtual FHttpRequestPtr ILovenseAdapter::CreateHTTPRequest_SendCommand ( const FString &  parameters)
protectedpure virtual

Create HTTP request to send a command.
Each API+Platform combination requires different HTTP request settings, so allow child classes to create the HTTP request with the correct settings.

Parameters
parametersString defining the URI path and query (including '?') for the request.

Implemented in LovenseTestAdapter, LovenseRemoteAdapterBase, LovenseConnectDesktopAdapter, and LovenseConnectMobileAdapter.

◆ GetToys()

bool ILovenseAdapter::GetToys ( FOnLovenseGetToysResponse  callback)
virtual

Polls the Lovense App for toys and creates toy objects for all received toys.
We always directly poll the respective Lovense Apps to get our toy info so we don't put unnecessary load on the Lovense servers.

Parameters
callbackCalled when HTTP request has been completed.
If request was unsuccessful, will pass an empty toy object array. FLovenseGetToysResponseData might be partially filled in.
This will not be called if the integration is not running.
Returns
Whether the http request was dispatched successfully.

◆ GetToysDataJsonObject()

void ILovenseAdapter::GetToysDataJsonObject ( TSharedPtr< class FJsonObject >  jsonObject,
TSharedPtr< class FJsonObject > &  outToysJsonObject 
)
protectedvirtual

Retrieve a json object holding an array of toys. The json structure is different between the API's, so allow child classes to override this.

Parameters
jsonObjectJson object holding the GetToys request response data.
outToysJsonObjectResult json object holding the array of toys.

Reimplemented in LovenseRemoteAdapterBase.

◆ Initialize()

bool ILovenseAdapter::Initialize ( FLovenseAdapterDescription description)
virtual

Initializes the adapter with the passed in adapter description.

Returns
Whether the adapter has a valid platform and device IP.

◆ ParseToyDescription()

virtual void ILovenseAdapter::ParseToyDescription ( FLovenseToyDescription outToyDescription,
TSharedPtr< class FJsonObject >  toyObject 
)
protectedpure virtual

Parses a json object holding toy data and fills a toy description. The json structure is different between the API's, so allow child classes to override this.

Parameters
outToyDescriptionResult toy description data. Will not be default initialized.
toyObjectJson object holding data for a single toy.

Implemented in LovenseRemoteAdapterBase, and LovenseConnectAdapterBase.

◆ SendCommand()

bool ILovenseAdapter::SendCommand ( const FString &  parameters,
FOnLovenseResponse  callback = FOnLovenseResponse() 
)
protectedvirtual

Send a HTTP request to the respective Lovense App.

Parameters
parametersString defining the URI path and query for the request.
callbackCalled when HTTP request has been completed. If request was unsuccessful, will pass -1, otherwise will pass value of "data" json field.
This is used to poll battery status.
This will not be called if the integration was stopped while the HTTP request was being processed.

◆ SendCommand_AAirLevel()

virtual bool ILovenseAdapter::SendCommand_AAirLevel ( const FString &  parameters,
const FString &  toyId,
uint8  pulseSpeed,
int32  time 
)
inlinevirtual

See FLovenseManager::SendCommand_AAirLevel() for information on this command.

Parameters
parametersURI query string (including '?') used by Lovense Connect implementations. Contains toyId parameter if specified, pulseSpeed and time.
toyIdUsed by Lovense Remote implementations.
pulseSpeedUsed by Lovense Remote implementations.
timeUsed by Lovense Remote implementations.

◆ SendCommand_AAll()

virtual bool ILovenseAdapter::SendCommand_AAll ( const FString &  parameters,
const FString &  toyId,
uint8  vibrationSpeed,
uint8  rotationSpeed,
uint8  pulseSpeed,
uint8  thrustingSpeed,
uint8  fingeringSpeed,
uint8  suctionSpeed,
int32  time 
)
inlinevirtual

See FLovenseManager::SendCommand_AAll() for information on this command.

Parameters
parametersURI query string (including '?') used by Lovense Connect implementations. Contains toyId parameter if specified, speed and time.
toyIdUsed by Lovense Remote implementations.
vibrationSpeedUsed by Lovense Remote implementations.
rotationSpeedUsed by Lovense Remote implementations.
pulseSpeedUsed by Lovense Remote implementations.
thrustingSpeedUsed by Lovense Remote implementations.
fingeringSpeedUsed by Lovense Remote implementations.
suctionSpeedUsed by Lovense Remote implementations.
timeUsed by Lovense Remote implementations.

◆ SendCommand_AFinger()

virtual bool ILovenseAdapter::SendCommand_AFinger ( const FString &  parameters,
const FString &  toyId,
uint8  fingeringSpeed,
int32  time 
)
inlinevirtual

See FLovenseManager::SendCommand_AFinger() for information on this command.

Parameters
parametersURI query string (including '?') used by Lovense Connect implementations. Contains toyId parameter if specified, fingeringSpeed and time.
toyIdUsed by Lovense Remote implementations.
fingeringSpeedUsed by Lovense Remote implementations.
timeUsed by Lovense Remote implementations.

◆ SendCommand_AirAuto()

virtual bool ILovenseAdapter::SendCommand_AirAuto ( const FString &  parameters,
const FString &  toyId,
uint8  pulseSpeed 
)
inlinevirtual

See FLovenseManager::SendCommand_AirAuto() for information on this command.

Parameters
parametersURI query string (including '?') used by Lovense Connect implementations. Contains toyId parameter if specified and pulseSpeed.
toyIdUsed by Lovense Remote implementations.
pulseSpeedUsed by Lovense Remote implementations.

◆ SendCommand_AirIn()

virtual bool ILovenseAdapter::SendCommand_AirIn ( const FString &  parameters,
const FString &  toyId 
)
inlinevirtual

See FLovenseManager::SendCommand_AirIn() for information on this command.

Parameters
parametersURI query string (including '?') used by Lovense Connect implementations. Contains toyId parameter if specified.
toyIdUsed by Lovense Remote implementations.

◆ SendCommand_AirOut()

virtual bool ILovenseAdapter::SendCommand_AirOut ( const FString &  parameters,
const FString &  toyId 
)
inlinevirtual

See FLovenseManager::SendCommand_AirOut() for information on this command.

Parameters
parametersURI query string (including '?') used by Lovense Connect implementations. Contains toyId parameter if specified.
toyIdUsed by Lovense Remote implementations.

◆ SendCommand_APreset()

virtual bool ILovenseAdapter::SendCommand_APreset ( const FString &  parameters,
const FString &  toyId,
const FString &  patternName,
int32  time 
)
inlinevirtual

See FLovenseManager::SendCommand_APreset() for information on this command.

Parameters
parametersURI query string (including '?') used by Lovense Connect implementations. Contains toyId parameter if specified and pattern.
toyIdUsed by Lovense Remote implementations.
patternNameUsed by Lovense Remote implementations.
timeUsed by Lovense Remote implementations.

◆ SendCommand_ARotate()

virtual bool ILovenseAdapter::SendCommand_ARotate ( const FString &  parameters,
const FString &  toyId,
uint8  rotationSpeed,
int32  time 
)
inlinevirtual

See FLovenseManager::SendCommand_ARotate() for information on this command.

Parameters
parametersURI query string (including '?') used by Lovense Connect implementations. Contains toyId parameter if specified, rotationSpeed and time.
toyIdUsed by Lovense Remote implementations.
rotationSpeedUsed by Lovense Remote implementations.
timeUsed by Lovense Remote implementations.

◆ SendCommand_ASuck()

virtual bool ILovenseAdapter::SendCommand_ASuck ( const FString &  parameters,
const FString &  toyId,
uint8  suctionSpeed,
int32  time 
)
inlinevirtual

See FLovenseManager::SendCommand_ASuck() for information on this command.

Parameters
parametersURI query string (including '?') used by Lovense Connect implementations. Contains toyId parameter if specified, suctionSpeed and time.
toyIdUsed by Lovense Remote implementations.
suctionSpeedUsed by Lovense Remote implementations.
timeUsed by Lovense Remote implementations.

◆ SendCommand_AThrust()

virtual bool ILovenseAdapter::SendCommand_AThrust ( const FString &  parameters,
const FString &  toyId,
uint8  thrustingSpeed,
int32  time 
)
inlinevirtual

See FLovenseManager::SendCommand_AThrust() for information on this command.

Parameters
parametersURI query string (including '?') used by Lovense Connect implementations. Contains toyId parameter if specified, thrustingSpeed and time.
toyIdUsed by Lovense Remote implementations.
thrustingSpeedUsed by Lovense Remote implementations.
timeUsed by Lovense Remote implementations.

◆ SendCommand_AVibAir()

virtual bool ILovenseAdapter::SendCommand_AVibAir ( const FString &  parameters,
const FString &  toyId,
uint8  vibrationSpeed,
uint8  pulseSpeed,
int32  time 
)
inlinevirtual

See FLovenseManager::SendCommand_AVibAir() for information on this command.

Parameters
parametersURI query string (including '?') used by Lovense Connect implementations. Contains toyId parameter if specified, vibrationSpeed, pulseSpeed and time.
toyIdUsed by Lovense Remote implementations.
vibrationSpeedUsed by Lovense Remote implementations.
pulseSpeedUsed by Lovense Remote implementations.
timeUsed by Lovense Remote implementations.

◆ SendCommand_AVibrate()

virtual bool ILovenseAdapter::SendCommand_AVibrate ( const FString &  parameters,
const FString &  toyId,
uint8  vibrationSpeed,
int32  time 
)
inlinevirtual

See FLovenseManager::SendCommand_AVibrate() for information on this command.

Parameters
parametersURI query string (including '?') used by Lovense Connect implementations. Contains toyId parameter if specified, vibrationSpeed and time.
toyIdUsed by Lovense Remote implementations.
vibrationSpeedUsed by Lovense Remote implementations.
timeUsed by Lovense Remote implementations.

◆ SendCommand_AVibrate1()

virtual bool ILovenseAdapter::SendCommand_AVibrate1 ( const FString &  parameters,
const FString &  toyId,
uint8  vibrationSpeed,
int32  time 
)
inlinevirtual

See FLovenseManager::SendCommand_AVibrate1() for information on this command.

Parameters
parametersURI query string (including '?') used by Lovense Connect implementations. Contains toyId parameter if specified, vibrationSpeed and time.
toyIdUsed by Lovense Remote implementations.
vibrationSpeedUsed by Lovense Remote implementations.
timeUsed by Lovense Remote implementations.

◆ SendCommand_AVibrate2()

virtual bool ILovenseAdapter::SendCommand_AVibrate2 ( const FString &  parameters,
const FString &  toyId,
uint8  vibrationSpeed,
int32  time 
)
inlinevirtual

See FLovenseManager::SendCommand_AVibrate2() for information on this command.

Parameters
parametersURI query string (including '?') used by Lovense Connect implementations. Contains toyId parameter if specified, vibrationSpeed and time.
toyIdUsed by Lovense Remote implementations.
vibrationSpeedUsed by Lovense Remote implementations.
timeUsed by Lovense Remote implementations.

◆ SendCommand_AVibRotate()

virtual bool ILovenseAdapter::SendCommand_AVibRotate ( const FString &  parameters,
const FString &  toyId,
uint8  vibrationSpeed,
uint8  rotationSpeed,
int32  time 
)
inlinevirtual

See FLovenseManager::SendCommand_AVibRotate() for information on this command.

Parameters
parametersURI query string (including '?') used by Lovense Connect implementations. Contains toyId parameter if specified, vibrationSpeed, rotationSpeed and time.
toyIdUsed by Lovense Remote implementations.
vibrationSpeedUsed by Lovense Remote implementations.
rotationSpeedUsed by Lovense Remote implementations.
timeUsed by Lovense Remote implementations.

◆ SendCommand_AVibRotateAir()

virtual bool ILovenseAdapter::SendCommand_AVibRotateAir ( const FString &  parameters,
const FString &  toyId,
uint8  vibrationSpeed,
uint8  rotationSpeed,
uint8  pulseSpeed,
int32  time 
)
inlinevirtual

See FLovenseManager::SendCommand_AVibRotateAir() for information on this command.

Parameters
parametersURI query string (including '?') used by Lovense Connect implementations. Contains toyId parameter if specified, vibrationSpeed, rotationSpeed, pulseSpeed and time.
toyIdUsed by Lovense Remote implementations.
vibrationSpeedUsed by Lovense Remote implementations.
rotationSpeedUsed by Lovense Remote implementations.
pulseSpeedUsed by Lovense Remote implementations.
timeUsed by Lovense Remote implementations.

◆ SendCommand_Battery()

virtual bool ILovenseAdapter::SendCommand_Battery ( const FString &  parameters,
const FString &  toyId,
FOnLovenseResponse  callback 
)
inlinevirtual

See FLovenseManager::SendCommand_Battery() for information on this command.

Parameters
parametersURI query string (including '?') used by Lovense Connect implementations. Contains toyId parameter if specified.
toyIdUsed by Lovense Remote implementations.

◆ SendCommand_Finger()

virtual bool ILovenseAdapter::SendCommand_Finger ( const FString &  parameters,
const FString &  toyId,
uint8  fingeringSpeed 
)
inlinevirtual

See FLovenseManager::SendCommand_Vibrate() for information on this command.

Parameters
parametersURI query string (including '?') used by Lovense Connect implementations. Contains toyId parameter if specified and fingeringSpeed.
toyIdUsed by Lovense Remote implementations.
fingeringSpeedUsed by Lovense Remote implementations.

◆ SendCommand_Pattern()

virtual bool ILovenseAdapter::SendCommand_Pattern ( const FString &  parameters,
const FString &  toyId,
FLovensePattern pattern 
)
inlinevirtual

See FLovenseManager::SendCommand_Pattern() for information on this command.

Parameters
parametersURI query string (including '?') used by Lovense Connect implementations. Contains toyId parameter if specified and pattern.
toyIdUsed by Lovense Remote implementations.
patternUsed by Lovense Remote implementations.

◆ SendCommand_Preset()

virtual bool ILovenseAdapter::SendCommand_Preset ( const FString &  parameters,
const FString &  toyId,
uint8  pattern 
)
inlinevirtual

See FLovenseManager::SendCommand_Preset() for information on this command.

Parameters
parametersURI query string (including '?') used by Lovense Connect implementations. Contains toyId parameter if specified and pattern.
toyIdUsed by Lovense Remote implementations.
patternUsed by Lovense Remote implementations.

◆ SendCommand_Rotate()

virtual bool ILovenseAdapter::SendCommand_Rotate ( const FString &  parameters,
const FString &  toyId,
uint8  rotationSpeed 
)
inlinevirtual

See FLovenseManager::SendCommand_Rotate() for information on this command.

Parameters
parametersURI query string (including '?') used by Lovense Connect implementations. Contains toyId parameter if specified and rotationSpeed.
toyIdUsed by Lovense Remote implementations.
rotationSpeedUsed by Lovense Remote implementations.

◆ SendCommand_RotateAntiClockwise()

virtual bool ILovenseAdapter::SendCommand_RotateAntiClockwise ( const FString &  parameters,
const FString &  toyId,
uint8  rotationSpeed 
)
inlinevirtual

See FLovenseManager::SendCommand_RotateAntiClockwise() for information on this command.

Parameters
parametersURI query string (including '?') used by Lovense Connect implementations. Contains toyId parameter if specified and rotationSpeed.
toyIdUsed by Lovense Remote implementations.
rotationSpeedUsed by Lovense Remote implementations.

◆ SendCommand_RotateChange()

virtual bool ILovenseAdapter::SendCommand_RotateChange ( const FString &  parameters,
const FString &  toyId 
)
inlinevirtual

See FLovenseManager::SendCommand_RotateChange() for information on this command.

Parameters
parametersURI query string (including '?') used by Lovense Connect implementations. Contains toyId parameter if specified.
toyIdUsed by Lovense Remote implementations.

◆ SendCommand_RotateClockwise()

virtual bool ILovenseAdapter::SendCommand_RotateClockwise ( const FString &  parameters,
const FString &  toyId,
uint8  rotationSpeed 
)
inlinevirtual

See FLovenseManager::SendCommand_RotateClockwise() for information on this command.

Parameters
parametersURI query string (including '?') used by Lovense Connect implementations. Contains toyId parameter if specified and rotationSpeed.
toyIdUsed by Lovense Remote implementations.
rotationSpeedUsed by Lovense Remote implementations.

◆ SendCommand_Stop()

bool ILovenseAdapter::SendCommand_Stop ( const FString &  parameters,
const FString &  toyId 
)
virtual

See FLovenseManager::SendCommand_Stop() for information on this command.

Parameters
parametersURI query string (including '?') used by Lovense Connect implementations. Contains toyId parameter if specified.
toyIdUsed by Lovense Remote implementations.

◆ SendCommand_Suck()

virtual bool ILovenseAdapter::SendCommand_Suck ( const FString &  parameters,
const FString &  toyId,
uint8  suctionSpeed 
)
inlinevirtual

See FLovenseManager::SendCommand_Vibrate() for information on this command.

Parameters
parametersURI query string (including '?') used by Lovense Connect implementations. Contains toyId parameter if specified and suctionSpeed.
toyIdUsed by Lovense Remote implementations.
suctionSpeedUsed by Lovense Remote implementations.

◆ SendCommand_Test()

bool ILovenseAdapter::SendCommand_Test ( const FString &  toyId)
virtual

See FLovenseManager::SendCommand_Test() for information on this command.

Parameters
toyIdMust have a valid id, or command will fail.

◆ SendCommand_Thrust()

virtual bool ILovenseAdapter::SendCommand_Thrust ( const FString &  parameters,
const FString &  toyId,
uint8  thrustingSpeed 
)
inlinevirtual

See FLovenseManager::SendCommand_Vibrate() for information on this command.

Parameters
parametersURI query string (including '?') used by Lovense Connect implementations. Contains toyId parameter if specified and thrustingSpeed.
toyIdUsed by Lovense Remote implementations.
thrustingSpeedUsed by Lovense Remote implementations.

◆ SendCommand_Vibrate()

virtual bool ILovenseAdapter::SendCommand_Vibrate ( const FString &  parameters,
const FString &  toyId,
uint8  vibrationSpeed 
)
inlinevirtual

See FLovenseManager::SendCommand_Vibrate() for information on this command.

Parameters
parametersURI query string (including '?') used by Lovense Connect implementations. Contains toyId parameter if specified and vibrationSpeed.
toyIdUsed by Lovense Remote implementations.
vibrationSpeedUsed by Lovense Remote implementations.

◆ SendCommand_Vibrate1()

virtual bool ILovenseAdapter::SendCommand_Vibrate1 ( const FString &  parameters,
const FString &  toyId,
uint8  vibrationSpeed 
)
inlinevirtual

See FLovenseManager::SendCommand_Vibrate1() for information on this command.

Parameters
parametersURI query string (including '?') used by Lovense Connect implementations. Contains toyId parameter if specified and vibrationSpeed.
toyIdUsed by Lovense Remote implementations.
vibrationSpeedUsed by Lovense Remote implementations.

◆ SendCommand_Vibrate2()

virtual bool ILovenseAdapter::SendCommand_Vibrate2 ( const FString &  parameters,
const FString &  toyId,
uint8  vibrationSpeed 
)
inlinevirtual

See FLovenseManager::SendCommand_Vibrate2() for information on this command.

Parameters
parametersURI query string (including '?') used by Lovense Connect implementations. Contains toyId parameter if specified and vibrationSpeed.
toyIdUsed by Lovense Remote implementations.
vibrationSpeedUsed by Lovense Remote implementations.

◆ TryGetAdapterData()

bool ILovenseAdapter::TryGetAdapterData ( FOnLovenseGetAdaptersResponse  callback)
static

Polls "https://api.lovense-api.com/api/lan/v2/app" for toys in the local network.
This is the same for all API+Platform combinations, so we can make it static.

Parameters
callbackCalled when HTTP request has been completed. If request was unsuccessful, will pass a default initialized FLovenseGetAdaptersResponseData.
This will not be called if the integration is not running.
Returns
Whether the http request was dispatched successfully.

The documentation for this class was generated from the following files: