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