@vizbeetv/sdk-qa 7.8.37 → 7.8.39
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +31 -7
- package/chromecast-v2/es5/index.js +1 -1
- package/chromecast-v2/es6/index.js +1 -1
- package/lg/es5/index.js +1 -1
- package/lg/es6/index.js +1 -1
- package/package.json +54 -15
- package/samsung/es5/index.js +1 -1
- package/samsung/es6/index.js +1 -1
- package/types/index.d.ts +486 -0
- package/types/vtvsdk/src/core/session/SessionState.d.ts +45 -0
- package/types/vtvsdk/src/core/session/SessionStateListener.d.ts +23 -0
- package/types/vtvsdk/src/core/session/base/VizbeeMessagingClient.d.ts +38 -0
- package/types/vtvsdk/src/core/session/base/VizbeePresenceClient.d.ts +7 -0
- package/types/vtvsdk/src/core/session/bicast/VizbeeBicastMemberPresenceClientImpl.d.ts +17 -0
- package/types/vtvsdk/src/core/session/bicast/VizbeeBicastMessagingClientImpl.d.ts +54 -0
- package/types/vtvsdk/src/core/session/bicast/VizbeeBicastSession.d.ts +25 -0
- package/types/vtvsdk/src/core/session/bicast/VizbeeBicastSessionManager.d.ts +63 -0
- package/types/vtvsdk/src/core/session/bicast/VizbeePresenceManager.d.ts +24 -0
- package/types/vtvsdk/src/core/session/models/MemberInfo.d.ts +39 -0
- package/types/vtvsdk/src/core/session/models/MemberType.d.ts +49 -0
- package/types/vtvsdk/src/core/session/models/VizbeeDevice.d.ts +26 -0
- package/types/vtvsdk/src/core/session/models/VizbeeDeviceType.d.ts +10 -0
- package/types/vtvsdk/src/core/session/models/presence/PresenceEventResult.d.ts +11 -0
- package/types/vtvsdk/src/core/sync/presence/Device.d.ts +34 -0
- package/types/vtvsdk/src/core/sync/presence/DeviceType.d.ts +6 -0
- package/types/vtvsdk/src/core/sync/presence/PresenceEvent.d.ts +4 -0
- package/types/vtvsdk/src/core/sync/presence/PresenceEventResult.d.ts +8 -0
- package/vizio/index.js +1 -1
- package/xbox/es5/index.js +1 -1
- package/xbox/es6/index.js +1 -1
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { VizbeeMessagingClient } from '../base/VizbeeMessagingClient.js';
|
|
2
|
+
import { VizbeePresenceClient } from '../base/VizbeePresenceClient.js';
|
|
3
|
+
/**
|
|
4
|
+
* Manages the messaging session for Vizbee bicast communications.
|
|
5
|
+
* This class implements the Singleton pattern for the messaging client,
|
|
6
|
+
* ensuring only one instance exists throughout the application lifecycle.
|
|
7
|
+
*/
|
|
8
|
+
declare class VizbeeBicastSession {
|
|
9
|
+
/**
|
|
10
|
+
* Instance of the messaging client. Initialized lazily upon first request.
|
|
11
|
+
* @private
|
|
12
|
+
*/
|
|
13
|
+
private _messagingClient;
|
|
14
|
+
private _presenceClient;
|
|
15
|
+
constructor();
|
|
16
|
+
/**
|
|
17
|
+
* Returns the messaging client instance, creating it if it doesn't exist.
|
|
18
|
+
* Implements lazy initialization pattern for the messaging client.
|
|
19
|
+
*
|
|
20
|
+
* @returns {VizbeeMessagingClient} The singleton instance of the messaging client
|
|
21
|
+
*/
|
|
22
|
+
getMessagingClient(): VizbeeMessagingClient;
|
|
23
|
+
getPresenceClient(): VizbeePresenceClient;
|
|
24
|
+
}
|
|
25
|
+
export { VizbeeBicastSession };
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { VizbeeBicastSession } from './VizbeeBicastSession.js';
|
|
2
|
+
import { SessionState } from '../SessionState.js';
|
|
3
|
+
import { SessionStateListener } from '../SessionStateListener.js';
|
|
4
|
+
/**
|
|
5
|
+
* Manages the lifecycle and state of Vizbee bicast sessions.
|
|
6
|
+
* This class handles session initialization, state management, and listener notifications.
|
|
7
|
+
* It interfaces with the VZB SDK's syncController to maintain session state synchronization.
|
|
8
|
+
*/
|
|
9
|
+
declare class VizbeeBicastSessionManager {
|
|
10
|
+
/** Singleton instance */
|
|
11
|
+
private static instance;
|
|
12
|
+
/** Current active session instance */
|
|
13
|
+
private session;
|
|
14
|
+
/** Current state of the session, defaults to NOT_CONNECTED */
|
|
15
|
+
private sessionState;
|
|
16
|
+
/** Array of listeners to be notified of session state changes */
|
|
17
|
+
private sessionStateListeners;
|
|
18
|
+
/** Reference to the VZB SDK's sync controller */
|
|
19
|
+
private syncController;
|
|
20
|
+
constructor();
|
|
21
|
+
/**
|
|
22
|
+
* Initializes the session manager by connecting to the VZB SDK's sync controller
|
|
23
|
+
* and setting up initial state and listeners.
|
|
24
|
+
*/
|
|
25
|
+
init(): void;
|
|
26
|
+
private listenForSyncControllerAvailability;
|
|
27
|
+
private listenForSyncControllerSessionState;
|
|
28
|
+
/**
|
|
29
|
+
* Registers a new listener for session state changes.
|
|
30
|
+
* @param listener - The listener object implementing SessionStateListener interface
|
|
31
|
+
*/
|
|
32
|
+
addSessionStateListener(listener: SessionStateListener | ((newState: SessionState) => void)): void;
|
|
33
|
+
/**
|
|
34
|
+
* Removes a previously registered session state listener.
|
|
35
|
+
* @param listener - The listener object to remove
|
|
36
|
+
*/
|
|
37
|
+
removeSessionStateListener(listener: SessionStateListener): void;
|
|
38
|
+
/**
|
|
39
|
+
* Returns the current active session instance.
|
|
40
|
+
* @returns The current VizbeeBicastSession or null if no active session
|
|
41
|
+
*/
|
|
42
|
+
getSession(): VizbeeBicastSession | null;
|
|
43
|
+
/**
|
|
44
|
+
* Checks if the session is currently in connecting state.
|
|
45
|
+
* @returns True if the session is connecting, false otherwise
|
|
46
|
+
*/
|
|
47
|
+
isConnecting(): boolean;
|
|
48
|
+
/**
|
|
49
|
+
* Checks if the session is currently connected.
|
|
50
|
+
* @returns True if the session is connected, false otherwise
|
|
51
|
+
*/
|
|
52
|
+
isConnected(): boolean;
|
|
53
|
+
/**
|
|
54
|
+
* Handles session state change events from the sync controller.
|
|
55
|
+
* Creates or destroys session instances based on the new state
|
|
56
|
+
* and notifies all registered listeners.
|
|
57
|
+
*
|
|
58
|
+
* @param state - The new session state
|
|
59
|
+
* @private
|
|
60
|
+
*/
|
|
61
|
+
private onSessionStateChanged;
|
|
62
|
+
}
|
|
63
|
+
export { VizbeeBicastSessionManager };
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { PresenceEventResult } from '../models/presence/PresenceEventResult.js';
|
|
2
|
+
import { VizbeeDevice } from '../models/VizbeeDevice.js';
|
|
3
|
+
/**
|
|
4
|
+
* Manages the lifecycle and state of Vizbee bicast sessions.
|
|
5
|
+
* This class handles session initialization, state management, and listener notifications.
|
|
6
|
+
* It interfaces with the VZB SDK's syncController to maintain session state synchronization.
|
|
7
|
+
*/
|
|
8
|
+
declare class VizbeePresenceManager {
|
|
9
|
+
/** Singleton instance */
|
|
10
|
+
private static instance;
|
|
11
|
+
private vizbeePresenceClient;
|
|
12
|
+
private presenceCallbacks;
|
|
13
|
+
private vizbeeSession;
|
|
14
|
+
constructor();
|
|
15
|
+
/**
|
|
16
|
+
* Initializes the session manager by connecting to the VZB SDK's sync controller
|
|
17
|
+
* and setting up initial state and listeners.
|
|
18
|
+
*/
|
|
19
|
+
private init;
|
|
20
|
+
subscribe(onPresenceChanged: (result: PresenceEventResult) => void): void;
|
|
21
|
+
unsubscribe(onPresenceChanged: (result: PresenceEventResult) => void): void;
|
|
22
|
+
getMembers(): VizbeeDevice[];
|
|
23
|
+
}
|
|
24
|
+
export { VizbeePresenceManager };
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { MemberType } from './MemberType.js';
|
|
2
|
+
/**
|
|
3
|
+
* Represents detailed information about a network member device in the Vizbee ecosystem.
|
|
4
|
+
* This interface captures device identification, hardware details, and runtime state.
|
|
5
|
+
*/
|
|
6
|
+
export interface MemberInfo {
|
|
7
|
+
/** Unique identifier for the device */
|
|
8
|
+
deviceId: string;
|
|
9
|
+
/** Identifier for Advertisers (IDFA) - platform-specific advertising identifier */
|
|
10
|
+
idfa: string;
|
|
11
|
+
/** Identifier for Vendors (IDFV) - platform-specific vendor identifier */
|
|
12
|
+
idfv: string;
|
|
13
|
+
/** Human-readable name for the device */
|
|
14
|
+
friendlyName: string;
|
|
15
|
+
/** Device model name (e.g., "iPhone", "Pixel") */
|
|
16
|
+
modelName: string;
|
|
17
|
+
/** Specific model number or identifier */
|
|
18
|
+
modelNumber: string;
|
|
19
|
+
/** Device manufacturer name */
|
|
20
|
+
manufacturer: string;
|
|
21
|
+
/** Role/type of the member in the network */
|
|
22
|
+
memberType: MemberType;
|
|
23
|
+
/** Flag indicating if ad tracking is restricted on this device */
|
|
24
|
+
limitAdTracking: boolean;
|
|
25
|
+
/** Indicates if the application is currently in the foreground */
|
|
26
|
+
isInForeground: boolean;
|
|
27
|
+
/** Unique identifier for the current network session */
|
|
28
|
+
networkSessionId: string;
|
|
29
|
+
/** Optional key-value pairs for additional device attributes */
|
|
30
|
+
customAttributes?: Record<string, any>;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Creates a new MemberInfo object with default values.
|
|
34
|
+
* Used for initializing a new member info structure with empty/default values
|
|
35
|
+
* before setting actual device information.
|
|
36
|
+
*
|
|
37
|
+
* @returns {MemberInfo} A MemberInfo object with default values
|
|
38
|
+
*/
|
|
39
|
+
export declare function createDefaultMemberInfo(): MemberInfo;
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Represents different types of devices supported in the Vizbee ecosystem.
|
|
3
|
+
* This enum categorizes devices into mobile devices and various smart TV platforms.
|
|
4
|
+
*/
|
|
5
|
+
export declare enum MemberType {
|
|
6
|
+
/** Android mobile devices */
|
|
7
|
+
ANDROID_MOBILE = "Android",
|
|
8
|
+
/** iOS mobile devices (iPhone, iPad) */
|
|
9
|
+
IOS = "iOS",
|
|
10
|
+
/** Android TV platform devices */
|
|
11
|
+
ANDROID_TV = "AndroidTV",
|
|
12
|
+
/** Amazon Fire TV devices */
|
|
13
|
+
FIRE_TV = "FireTV",
|
|
14
|
+
/** Roku streaming devices and TVs */
|
|
15
|
+
ROKU = "Roku",
|
|
16
|
+
/** Samsung Smart TVs running Tizen OS */
|
|
17
|
+
SAMSUNG_TIZEN = "SamsungTizen",
|
|
18
|
+
/** LG Smart TVs running WebOS */
|
|
19
|
+
LG_WEB_OS = "LGWebOS",
|
|
20
|
+
/** Vizio SmartCast enabled TVs */
|
|
21
|
+
VIZIO_SMARTCAST = "VizioSmartCast",
|
|
22
|
+
/** Fallback for unrecognized device types */
|
|
23
|
+
UNKNOWN = "Unknown"
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Contains additional information about a member type.
|
|
27
|
+
* Used to provide platform-specific details and capabilities.
|
|
28
|
+
*/
|
|
29
|
+
export interface MemberTypeInfo {
|
|
30
|
+
/** String representation of the member type */
|
|
31
|
+
value: string;
|
|
32
|
+
/** Indicates if the device is a TV/large screen device */
|
|
33
|
+
isScreen: boolean;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Retrieves detailed information about a specific member type.
|
|
37
|
+
*
|
|
38
|
+
* @param memberType - The member type to get information for
|
|
39
|
+
* @returns MemberTypeInfo object containing platform details
|
|
40
|
+
*/
|
|
41
|
+
export declare function getMemberTypeInfo(memberType: MemberType): MemberTypeInfo;
|
|
42
|
+
/**
|
|
43
|
+
* Converts a string value to its corresponding MemberType.
|
|
44
|
+
* Used for parsing platform identifiers from various sources.
|
|
45
|
+
*
|
|
46
|
+
* @param value - String identifier of the platform
|
|
47
|
+
* @returns The corresponding MemberType enum value, or UNKNOWN if not recognized
|
|
48
|
+
*/
|
|
49
|
+
export declare function fromValue(value: string): MemberType;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { VizbeeDeviceType } from './VizbeeDeviceType.js';
|
|
2
|
+
/**
|
|
3
|
+
* Represents a device in the Vizbee ecosystem with its core identifying properties.
|
|
4
|
+
* This class provides a unified device representation that can be constructed from
|
|
5
|
+
* different source types (SenderInfo or MemberInfo).
|
|
6
|
+
*/
|
|
7
|
+
export declare class VizbeeDevice {
|
|
8
|
+
deviceId: string;
|
|
9
|
+
friendlyName: string;
|
|
10
|
+
modelName: string;
|
|
11
|
+
modelNumber: string | null;
|
|
12
|
+
manufacturer: string | null;
|
|
13
|
+
deviceType: VizbeeDeviceType | null;
|
|
14
|
+
/**
|
|
15
|
+
* Creates a new VizbeeDevice instance.
|
|
16
|
+
*
|
|
17
|
+
* @param deviceId - Unique identifier for the device
|
|
18
|
+
* @param friendlyName - Human-readable name of the device
|
|
19
|
+
* @param modelName - Model name or type of the device
|
|
20
|
+
* @param modelNumber - Specific model number identifier (optional)
|
|
21
|
+
* @param manufacturer - Device manufacturer name (optional)
|
|
22
|
+
* @param deviceType - Type classification of the device (optional)
|
|
23
|
+
*/
|
|
24
|
+
constructor(deviceId: string, friendlyName: string, modelName: string, modelNumber: string | null, manufacturer: string | null, deviceType: VizbeeDeviceType | null);
|
|
25
|
+
toString(): string;
|
|
26
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { DeviceType } from "../../sync/presence/DeviceType.js";
|
|
2
|
+
/**
|
|
3
|
+
* DeviceType is used to specify the type of device.
|
|
4
|
+
*/
|
|
5
|
+
export declare enum VizbeeDeviceType {
|
|
6
|
+
ANDROID_MOBILE = "ANDROID_MOBILE",
|
|
7
|
+
IOS = "IOS",
|
|
8
|
+
UNKNOWN = "UNKNOWN"
|
|
9
|
+
}
|
|
10
|
+
export declare function toVizbeeDeviceType(deviceType: DeviceType): VizbeeDeviceType;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { VizbeeDevice } from "../VizbeeDevice.js";
|
|
2
|
+
export declare class PresenceEventResult {
|
|
3
|
+
readonly event: PresenceEvent;
|
|
4
|
+
readonly device: VizbeeDevice;
|
|
5
|
+
constructor(event: PresenceEvent, device: VizbeeDevice);
|
|
6
|
+
toString(): string;
|
|
7
|
+
}
|
|
8
|
+
export declare enum PresenceEvent {
|
|
9
|
+
JOIN = "JOIN",
|
|
10
|
+
LEAVE = "LEAVE"
|
|
11
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { DeviceType } from "./DeviceType.js";
|
|
2
|
+
export interface Device {
|
|
3
|
+
readonly deviceId: string;
|
|
4
|
+
readonly idfa?: string;
|
|
5
|
+
readonly idfv?: string;
|
|
6
|
+
readonly friendlyName?: string;
|
|
7
|
+
readonly modelName?: string;
|
|
8
|
+
readonly modelNumber?: string;
|
|
9
|
+
readonly manufacturer?: string;
|
|
10
|
+
readonly deviceType: DeviceType;
|
|
11
|
+
readonly limitAdTracking?: boolean;
|
|
12
|
+
readonly isInForeground?: boolean;
|
|
13
|
+
readonly networkSessionId?: string;
|
|
14
|
+
readonly customAttributes?: Record<string, any>;
|
|
15
|
+
}
|
|
16
|
+
export declare class DeviceImpl implements Device {
|
|
17
|
+
readonly deviceId: string;
|
|
18
|
+
readonly deviceType: DeviceType;
|
|
19
|
+
readonly idfa?: string;
|
|
20
|
+
readonly idfv?: string;
|
|
21
|
+
readonly friendlyName?: string;
|
|
22
|
+
readonly modelName?: string;
|
|
23
|
+
readonly modelNumber?: string;
|
|
24
|
+
readonly manufacturer?: string;
|
|
25
|
+
readonly limitAdTracking: boolean;
|
|
26
|
+
readonly isInForeground: boolean;
|
|
27
|
+
readonly networkSessionId?: string;
|
|
28
|
+
readonly customAttributes?: Record<string, any>;
|
|
29
|
+
constructor(deviceId: string, deviceType: DeviceType, idfa?: string, idfv?: string, friendlyName?: string, modelName?: string, modelNumber?: string, manufacturer?: string, limitAdTracking?: boolean, isInForeground?: boolean, networkSessionId?: string, customAttributes?: Record<string, any>);
|
|
30
|
+
get displayName(): string;
|
|
31
|
+
equals(other: any): boolean;
|
|
32
|
+
hashCode(): number;
|
|
33
|
+
toString(): string;
|
|
34
|
+
}
|