Lovense Integration: LovenseIntegration/Source/LovenseIntegration/Public/LovenseFunctionLibrary.h Source File

Lovense Integration

LovenseFunctionLibrary.h
1 // (CVN) - Candy Valley Network GmbH
2
3 #pragma once
4
5 #include <CoreMinimal.h>
6
7 // EXTERNAL INCLUDES
8 #include <Kismet/BlueprintFunctionLibrary.h>
9
10 // INTERNAL INCLUDES
11 #include "LovenseTypes.h"
12
13 #include "LovenseFunctionLibrary.generated.h"
14
15
19 UCLASS()
20 class LOVENSEINTEGRATION_API ULovenseFunctionLibrary : public UBlueprintFunctionLibrary {
21 GENERATED_BODY()
22
23 public:
24 ULovenseFunctionLibrary(const FObjectInitializer& ObjectInitializer);
25
31 UFUNCTION(BlueprintCallable, Category = "Lovense")
32 static void Initialize();
33
42 UFUNCTION(BlueprintCallable, Category = "Lovense")
43 static void StartLovense();
44
54 UFUNCTION(BlueprintCallable, Category = "Lovense")
55 static void StopLovense();
56
58 UFUNCTION(BlueprintCallable, Category = "Lovense")
59 static void UpdateAdapters();
60
62 UFUNCTION(BlueprintCallable, Category = "Lovense")
63 static void UpdateToys();
64
66 UFUNCTION(BlueprintPure, Category = "Lovense")
67 static bool IsLovenseRunning();
68
70 UFUNCTION(BlueprintPure, Category = "Lovense")
71 static bool IsUpdatingAdapters();
72
74 UFUNCTION(BlueprintPure, Category = "Lovense")
75 static bool IsUpdatingToys();
76
81 UFUNCTION(BlueprintPure, Category = "Lovense")
82 static const TArray<class ULovenseToy*>& GetToys();
83
88 UFUNCTION(BlueprintCallable, Category = "Lovense")
89 static void ClearAllCommands(class ULovenseToy* toy = nullptr);
90
107 UFUNCTION(BlueprintCallable, Category = "Lovense")
108 static bool SendCommand(
109 ELovenseCommand command,
110 class ULovenseToy* toy,
111 uint8 valueA,
112 int32 time,
113 uint8 valueB,
114 uint8 valueC,
115 const FString& presetName,
116 const FLovensePattern& pattern,
117 FOnLovenseResponseDynamic callback
118 );
119
126 UFUNCTION(BlueprintCallable, Category = "Lovense")
127 static bool SendCommand_Test(class ULovenseToy* toy);
128
133 UFUNCTION(BlueprintCallable, Category = "Lovense")
134 static bool SendCommand_Stop(class ULovenseToy* toy);
135
146 UFUNCTION(BlueprintCallable, Category = "Lovense")
147 static bool SendCommand_Vibrate(class ULovenseToy* toy, uint8 vibrationSpeed);
148
160 UFUNCTION(BlueprintCallable, Category = "Lovense")
161 static bool SendCommand_Vibrate1(class ULovenseToy* toy, uint8 vibrationSpeed);
162
174 UFUNCTION(BlueprintCallable, Category = "Lovense")
175 static bool SendCommand_Vibrate2(class ULovenseToy* toy, uint8 vibrationSpeed);
176
188 UFUNCTION(BlueprintCallable, Category = "Lovense")
189 static bool SendCommand_Rotate(class ULovenseToy* toy, uint8 rotationSpeed);
190
202 UFUNCTION(BlueprintCallable, Category = "Lovense")
203 static bool SendCommand_RotateAntiClockwise(class ULovenseToy* toy, uint8 rotationSpeed);
204
216 UFUNCTION(BlueprintCallable, Category = "Lovense")
217 static bool SendCommand_RotateClockwise(class ULovenseToy* toy, uint8 rotationSpeed);
218
228 UFUNCTION(BlueprintCallable, Category = "Lovense")
229 static bool SendCommand_RotateChange(class ULovenseToy* toy);
230
242 UFUNCTION(BlueprintCallable, Category = "Lovense")
243 static bool SendCommand_AirAuto(class ULovenseToy* toy, uint8 pulseSpeed);
244
255 UFUNCTION(BlueprintCallable, Category = "Lovense")
256 static bool SendCommand_AirIn(class ULovenseToy* toy);
257
268 UFUNCTION(BlueprintCallable, Category = "Lovense")
269 static bool SendCommand_AirOut(class ULovenseToy* toy);
270
281 UFUNCTION(BlueprintCallable, Category = "Lovense")
282 static bool SendCommand_Thrust(class ULovenseToy* toy, uint8 thrustingSpeed);
283
294 UFUNCTION(BlueprintCallable, Category = "Lovense")
295 static bool SendCommand_Suck(class ULovenseToy* toy, uint8 suctionSpeed);
296
307 UFUNCTION(BlueprintCallable, Category = "Lovense")
308 static bool SendCommand_Finger(class ULovenseToy* toy, uint8 fingeringSpeed);
309
321 UFUNCTION(BlueprintCallable, Category = "Lovense")
322 static bool SendCommand_Preset(class ULovenseToy* toy, uint8 pattern);
323
336 UFUNCTION(BlueprintCallable, Category = "Lovense")
337 static bool SendCommand_Battery(class ULovenseToy* toy, FOnLovenseResponseDynamic callback);
338
353 UFUNCTION(BlueprintCallable, Category = "Lovense")
354 static bool SendCommand_AVibrate(class ULovenseToy* toy, uint8 vibrationSpeed, int32 time);
355
372 UFUNCTION(BlueprintCallable, Category = "Lovense")
373 static bool SendCommand_AVibrate1(class ULovenseToy* toy, uint8 vibrationSpeed, int32 time);
374
391 UFUNCTION(BlueprintCallable, Category = "Lovense")
392 static bool SendCommand_AVibrate2(class ULovenseToy* toy, uint8 vibrationSpeed, int32 time);
393
409 UFUNCTION(BlueprintCallable, Category = "Lovense")
410 static bool SendCommand_ARotate(class ULovenseToy* toy, uint8 rotationSpeed, int32 time);
411
427 UFUNCTION(BlueprintCallable, Category = "Lovense")
428 static bool SendCommand_AAirLevel(class ULovenseToy* toy, uint8 pulseSpeed, int32 time);
429
444 UFUNCTION(BlueprintCallable, Category = "Lovense")
445 static bool SendCommand_AThrust(class ULovenseToy* toy, uint8 thrustingSpeed, int32 time);
446
461 UFUNCTION(BlueprintCallable, Category = "Lovense")
462 static bool SendCommand_ASuck(class ULovenseToy* toy, uint8 suctionSpeed, int32 time);
463
478 UFUNCTION(BlueprintCallable, Category = "Lovense")
479 static bool SendCommand_AFinger(class ULovenseToy* toy, uint8 fingeringSpeed, int32 time);
480
496 UFUNCTION(BlueprintCallable, Category = "Lovense")
497 static bool SendCommand_APreset(class ULovenseToy* toy, const FString& patternName, int32 time);
498
518 UFUNCTION(BlueprintCallable, Category = "Lovense")
519 static bool SendCommand_AVibRotate(class ULovenseToy* toy, uint8 vibrationSpeed, uint8 rotationSpeed, int32 time);
520
540 UFUNCTION(BlueprintCallable, Category = "Lovense")
541 static bool SendCommand_AVibAir(class ULovenseToy* toy, uint8 vibrationSpeed, uint8 pulseSpeed, int32 time);
542
558 UFUNCTION(BlueprintCallable, Category = "Lovense")
559 static bool SendCommand_AVibRotateAir(class ULovenseToy* toy, uint8 vibrationSpeed, uint8 rotationSpeed, uint8 pulseSpeed, int32 time);
560
574 UFUNCTION(BlueprintCallable, Category = "Lovense")
575 static bool SendCommand_AAll(class ULovenseToy* toy, uint8 speed, int32 time);
576
596 UFUNCTION(BlueprintCallable, Category = "Lovense")
597 static bool SendCommand_Pattern(
598 class ULovenseToy* toy,
599 const TArray<int32>& pattern,
600 bool bVibrate = true,
601 bool bRotate = true,
602 bool bPump = true,
603 bool bThrust = true,
604 bool bSuck = true,
605 bool bFinger = true,
606 int32 interval = 100,
607 int32 time = 1
608 );
609
611 UFUNCTION(BlueprintPure, Category = "Lovense")
612 static class ULovenseEvents* GetLovenseEvents();
613
618 UFUNCTION(BlueprintPure, Category = "Lovense")
619 static bool GetStartWithLovenseActive();
620
622 UFUNCTION(BlueprintPure, Category = "Lovense")
623 static FString GetDeviceIpOverride();
624
626 UFUNCTION(BlueprintPure, Category = "Lovense")
627 static FString GetDevicePortOverride();
628
634 UFUNCTION(BlueprintPure, Category = "Lovense")
635 static int32 GetToyDelay();
636
642 UFUNCTION(BlueprintPure, Category = "Lovense")
643 static float GetToyStrengthMultiplier();
644
649 UFUNCTION(BlueprintPure, Category = "Lovense")
650 static bool GetToyVibrationEnabled();
651
656 UFUNCTION(BlueprintPure, Category = "Lovense")
657 static bool GetToyRotationEnabled();
658
663 UFUNCTION(BlueprintPure, Category = "Lovense")
664 static bool GetToyAirEnabled();
665
670 UFUNCTION(BlueprintPure, Category = "Lovense")
671 static bool GetToyThrustingEnabled();
672
677 UFUNCTION(BlueprintPure, Category = "Lovense")
678 static bool GetToySuctionEnabled();
679
684 UFUNCTION(BlueprintPure, Category = "Lovense")
685 static bool GetToyFingeringEnabled();
686
688 UFUNCTION(BlueprintPure, Category = "Lovense")
689 static bool IsIPStringValid(const FString& ipString);
690
692 UFUNCTION(BlueprintPure, Category = "Lovense")
693 static bool IsPortStringValid(const FString& portString);
694
699 UFUNCTION(BlueprintCallable, Category = "Lovense")
700 static void SetStartWithLovenseActive(bool bStartActive);
701
703 UFUNCTION(BlueprintCallable, Category = "Lovense")
704 static void SetDeviceIpOverride(const FString& ipOverride);
705
707 UFUNCTION(BlueprintCallable, Category = "Lovense")
708 static void SetDevicePortOverride(const FString& portOverride);
709
716 UFUNCTION(BlueprintCallable, Category = "Lovense")
717 static void SetToyDelay(int32 value);
718
725 UFUNCTION(BlueprintCallable, Category = "Lovense")
726 static void SetToyStrengthMultiplier(float value);
727
733 UFUNCTION(BlueprintCallable, Category = "Lovense")
734 static void SetToyVibrationEnabled(bool value);
735
741 UFUNCTION(BlueprintCallable, Category = "Lovense")
742 static void SetToyRotationEnabled(bool value);
743
749 UFUNCTION(BlueprintCallable, Category = "Lovense")
750 static void SetToyAirEnabled(bool value);
751
757 UFUNCTION(BlueprintCallable, Category = "Lovense")
758 static void SetToyThrustingEnabled(bool value);
759
765 UFUNCTION(BlueprintCallable, Category = "Lovense")
766 static void SetToySuctionEnabled(bool value);
767
773 UFUNCTION(BlueprintCallable, Category = "Lovense")
774 static void SetToyFingeringEnabled(bool value);
775 };
ULovenseEvents
Object holding global Lovense Integration delegates.
Definition: LovenseEvents.h:30
ULovenseToy
UObject representing a Lovense Toy.
Definition: LovenseToy.h:19
ULovenseFunctionLibrary
Blueprint exposed wrapper library for the Lovense Manager.
Definition: LovenseFunctionLibrary.h:20
FLovensePattern
Structure holding all necessary information for a pattern command.
Definition: LovenseTypes.h:403