Skip to content
This repository was archived by the owner on Feb 2, 2021. It is now read-only.

Commit 3902e1a

Browse files
committed
Merge pull request #30 from telerik/fatme/mobile
Share mobile classes and services
2 parents 3208631 + b772e13 commit 3902e1a

23 files changed

+3861
-12
lines changed

bootstrap.ts

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,3 +22,24 @@ $injector.require("propertiesParser", "./common/properties-parser");
2222

2323
$injector.requireCommand(["help", "/?"], "./common/commands/help");
2424
$injector.requireCommand("feature-usage-tracking", "./common/services/analytics-service");
25+
26+
$injector.require("iOSCore", "./common/mobile/ios/ios-core");
27+
$injector.require("coreFoundation", "./common/mobile/ios/ios-core");
28+
$injector.require("mobileDevice", "./common/mobile/ios/ios-core");
29+
$injector.require("plistService", "./common/mobile/ios/ios-core");
30+
31+
$injector.require("installationProxyClient", "./common/mobile/ios/ios-proxy-services");
32+
$injector.require("notificationProxyClient", "./common/mobile/ios/ios-proxy-services");
33+
$injector.require("houseArrestClient", "./common/mobile/ios/ios-proxy-services");
34+
35+
$injector.require("signal", "./events/signal");
36+
$injector.require("deviceFound", "./common/mobile/mobile-core/device-discovery");
37+
$injector.require("deviceLost", "./common/mobile/mobile-core/device-discovery");
38+
39+
$injector.require("deviceDiscovery", "./common/mobile/mobile-core/device-discovery");
40+
$injector.require("iOSDeviceDiscovery", "./common/mobile/mobile-core/device-discovery");
41+
$injector.require("androidDeviceDiscovery", "./common/mobile/mobile-core/device-discovery");
42+
$injector.require("iOSDevice", "./common/mobile/ios/ios-device");
43+
$injector.require("androidDevice", "./common/mobile/android/android-device");
44+
45+
$injector.require("devicesServices", "./common/mobile/mobile-core/devices-services");

declarations.d.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -169,3 +169,7 @@ interface IAnalyticsSettingsService {
169169
canRequestConsent(): IFuture<boolean>;
170170
getUserId(): IFuture<string>;
171171
}
172+
173+
interface IHostCapabilities {
174+
debugToolsSupported: boolean;
175+
}

definitions/bufferpack.d.ts

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
declare module "bufferpack" {
2+
interface NodeBuffer {
3+
/** Shorthand for `ref.address`. */
4+
address(): number;
5+
/** Shorthand for `ref.deref`. */
6+
deref(): any;
7+
/** Shorthand for `ref.isNull`. */
8+
isNull(): boolean;
9+
/** Shorthand for `ref.readCString`. */
10+
readCString(offset?: number): string;
11+
/** Shorthand for `ref.readInt64BE`. */
12+
readInt64BE(offset?: number): string;
13+
/** Shorthand for `ref.readInt64LE`. */
14+
readInt64LE(offset?: number): string;
15+
/** Shorthand for `ref.readObject`. */
16+
readObject(offset?: number): string;
17+
/** Shorthand for `ref.readPointer`. */
18+
readPointer(offset?: number): string;
19+
/** Shorthand for `ref.readUInt64BE`. */
20+
readUInt64BE(offset?: number): string;
21+
/** Shorthand for `ref.readUInt64LE`. */
22+
readUInt64LE(offset?: number): string;
23+
/** Shorthand for `ref.ref`. */
24+
ref(): NodeBuffer;
25+
/** Shorthand for `ref.reinterpret`. */
26+
reinterpret(size: number, offset?: number): NodeBuffer;
27+
/** Shorthand for `ref.reinterpretUntilZeros`. */
28+
reinterpretUntilZeros(size: number, offset?: number): NodeBuffer;
29+
/** Shorthand for `ref.writeCString`. */
30+
writeCString(offset: number, string: string, encoding?: string): void;
31+
/** Shorthand for `ref.writeInt64BE`. */
32+
writeInt64BE(offset: number, input: number): any;
33+
/** Shorthand for `ref.writeInt64BE`. */
34+
writeInt64BE(offset: number, input: string): any;
35+
/** Shorthand for `ref.writeInt64LE`. */
36+
writeInt64LE(offset: number, input: number): any;
37+
/** Shorthand for `ref.writeInt64LE`. */
38+
writeInt64LE(offset: number, input: string): any;
39+
/** Shorthand for `ref.writeObject`. */
40+
writeObject(offset: number, object: Object): void;
41+
/** Shorthand for `ref.writePointer`. */
42+
writePointer(offset: number, pointer: NodeBuffer): void;
43+
/** Shorthand for `ref.writeUInt64BE`. */
44+
writeUInt64BE(offset: number, input: number): any;
45+
/** Shorthand for `ref.writeUInt64BE`. */
46+
writeUInt64BE(offset: number, input: string): any;
47+
/** Shorthand for `ref.writeUInt64LE`. */
48+
writeUInt64LE(offset: number, input: number): any;
49+
/** Shorthand for `ref.writeUInt64LE`. */
50+
writeUInt64LE(offset: number, input: string): any;
51+
52+
/**
53+
* Generate string for inspecting.
54+
* String includes the hex-encoded memory address of the Buffer instance.
55+
* @override
56+
*/
57+
inspect(): string;
58+
}
59+
60+
export function pack(endian: string, lengths: number[]): string;
61+
export function unpack(endian: string, data: NodeBuffer): number[];
62+
}

definitions/byline.d.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
declare module "byline" {
2+
function lineStream(stream: any): any;
3+
export = lineStream;
4+
}

definitions/config.d.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,10 @@ declare module Config {
55
ANALYTICS_API_KEY: string;
66
ANALYTICS_INSTALLATION_ID_SETTING_NAME: string;
77
TRACK_FEATURE_USAGE_SETTING_NAME: string;
8+
START_PACKAGE_ACTIVITY_NAME: string;
89
version: string;
910
helpTextPath: string;
11+
adbFilePath: string;
1012
}
1113

1214
interface IConfig {

definitions/mobile.d.ts

Lines changed: 152 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,152 @@
1+
///<reference path="../../.d.ts"/>
2+
3+
declare module Mobile {
4+
5+
interface ISyncOptions {
6+
skipRefresh?: boolean;
7+
}
8+
9+
interface IDevice {
10+
getIdentifier(): string;
11+
getInstalledApplications(): IFuture<string[]>;
12+
getDisplayName(): string;
13+
getModel(): string;
14+
getVersion(): string;
15+
getVendor(): string;
16+
getPlatform(): string;
17+
deploy(packageFile: string, packageName: string): IFuture<void>;
18+
sync(localToDevicePaths: ILocalToDevicePathData[], appIdentifier: IAppIdentifier, projectType: number): IFuture<void>;
19+
sync(localToDevicePaths: ILocalToDevicePathData[], appIdentifier: IAppIdentifier, projectType: number, options: ISyncOptions): IFuture<void>;
20+
openDeviceLogStream(): void;
21+
}
22+
23+
interface IAppIdentifier {
24+
appIdentifier: string;
25+
deviceProjectPath: string;
26+
liveSyncFormat: string;
27+
isLiveSyncSupported(device: any): IFuture<boolean>;
28+
getliveSyncNotSupportedError(device: any): string;
29+
}
30+
31+
interface IIOSDevice extends IDevice {
32+
startService(serviceName: string): number;
33+
}
34+
35+
interface IDeviceDiscovery {
36+
deviceFound: ISignal;
37+
deviceLost: ISignal;
38+
startLookingForDevices(): IFuture<void>;
39+
}
40+
41+
interface IDevicesServicesInitializationOptions {
42+
skipInferPlatform?: boolean;
43+
}
44+
45+
interface IDevicesServices {
46+
hasDevices: boolean;
47+
deviceCount: number;
48+
execute(action: (device: Mobile.IDevice) => IFuture<void>, canExecute?: (dev: Mobile.IDevice) => boolean, options?: {allowNoDevices?: boolean}): IFuture<void>;
49+
initialize(platform: string, deviceOption?: string, options?: IDevicesServicesInitializationOptions): IFuture<void>;
50+
platform: string;
51+
}
52+
53+
interface IiOSCore {
54+
getCoreFoundationLibrary(): any;
55+
getMobileDeviceLibrary(): any;
56+
}
57+
58+
interface ICoreFoundation {
59+
runLoopRun(): void;
60+
runLoopGetCurrent(): any;
61+
stringCreateWithCString(alloc: NodeBuffer, str: string, encoding: number): NodeBuffer;
62+
dictionaryGetValue(theDict: NodeBuffer, value: NodeBuffer): NodeBuffer;
63+
numberGetValue(number: NodeBuffer, theType: number, valuePtr: NodeBuffer): boolean;
64+
kCFRunLoopCommonModes(): NodeBuffer;
65+
kCFRunLoopDefaultMode(): NodeBuffer;
66+
kCFTypeDictionaryKeyCallBacks(): NodeBuffer;
67+
kCFTypeDictionaryValueCallBacks(): NodeBuffer;
68+
runLoopTimerCreate(allocator: NodeBuffer, fireDate: number, interval: number, flags: number, order: number, callout: NodeBuffer, context: any): NodeBuffer;
69+
absoluteTimeGetCurrent(): number;
70+
runLoopAddTimer(r1: NodeBuffer, timer: NodeBuffer, mode: NodeBuffer): void;
71+
runLoopRemoveTimer(r1: NodeBuffer, timer: NodeBuffer, mode: NodeBuffer): void;
72+
runLoopStop(r1: any): void;
73+
convertCFStringToCString(cfstr: NodeBuffer): string;
74+
dictionaryCreate(allocator: NodeBuffer, keys: NodeBuffer, values: NodeBuffer, count: number, dictionaryKeyCallbacks: NodeBuffer, dictionaryValueCallbacks: NodeBuffer): NodeBuffer;
75+
getTypeID(type: NodeBuffer): number;
76+
stringGetCString(theString: NodeBuffer, buffer: NodeBuffer, bufferSize: number, encoding: number): boolean;
77+
stringGetLength(theString: NodeBuffer): number;
78+
dictionaryGetCount(theDict: NodeBuffer): number;
79+
createCFString(str: string): NodeBuffer;
80+
dictToPlistEncoding(dict: {[key: string]: {}}, format: number): NodeBuffer;
81+
dictFromPlistEncoding(str: NodeBuffer): NodeBuffer;
82+
dictionaryGetTypeID(): number;
83+
stringGetTypeID(): number;
84+
dataGetTypeID(): number;
85+
numberGetTypeID(): number;
86+
booleanGetTypeID(): number;
87+
arrayGetTypeID(): number;
88+
dateGetTypeID(): number;
89+
setGetTypeID(): number;
90+
dictionaryGetKeysAndValues(dictionary: NodeBuffer, keys: NodeBuffer, values: NodeBuffer): void;
91+
}
92+
93+
interface IMobileDevice {
94+
deviceNotificationSubscribe(notificationCallback: NodeBuffer, p1: number, p2: number, context: any, callbackSignature: NodeBuffer): number;
95+
deviceCopyDeviceIdentifier(devicePointer: NodeBuffer): NodeBuffer;
96+
deviceCopyValue(devicePointer: NodeBuffer, domain: NodeBuffer, name: NodeBuffer): NodeBuffer;
97+
deviceConnect(devicePointer: NodeBuffer): number;
98+
deviceIsPaired(devicePointer: NodeBuffer): number;
99+
devicePair(devicePointer: NodeBuffer): number;
100+
deviceValidatePairing(devicePointer: NodeBuffer): number;
101+
deviceStartSession(devicePointer: NodeBuffer): number;
102+
deviceStopSession(devicePointer: NodeBuffer): number;
103+
deviceDisconnect(devicePointer: NodeBuffer): number;
104+
deviceStartService(devicePointer: NodeBuffer, serviceName: NodeBuffer, socketNumber: NodeBuffer): number;
105+
deviceTransferApplication(service: number, packageFile: NodeBuffer, options: NodeBuffer, installationCallback: NodeBuffer): number;
106+
deviceInstallApplication(service: number, packageFile: NodeBuffer, options: NodeBuffer, installationCallback: NodeBuffer): number;
107+
afcConnectionOpen(service: number, timeout: number, afcConnection: NodeBuffer): number;
108+
afcConnectionClose(afcConnection: NodeBuffer): number;
109+
afcDirectoryCreate(afcConnection: NodeBuffer, path: string): number;
110+
afcFileRefOpen(afcConnection: NodeBuffer, path: string, mode: number, afcFileRef: NodeBuffer): number;
111+
afcFileRefClose(afcConnection: NodeBuffer, afcFileRef: number): number;
112+
afcFileRefWrite(afcConnection: NodeBuffer, afcFileRef: number, buffer: NodeBuffer, byteLength: number): number;
113+
afcFileRefRead(afcConnection: NodeBuffer, afcFileRef: number, buffer: NodeBuffer, byteLength: number): number;
114+
afcRemovePath(afcConnection: NodeBuffer, path: string): number;
115+
afcDirectoryOpen(afcConnection: NodeBuffer, path: string, afcDirectory: NodeBuffer): number;
116+
afcDirectoryRead(afcConnection: NodeBuffer, afcdirectory: NodeBuffer, name: NodeBuffer): number;
117+
afcDirectoryClose(afcConnection: NodeBuffer, afcdirectory: NodeBuffer): number;
118+
isDataReceivingCompleted(reply: string): boolean;
119+
}
120+
121+
interface IHouseArrestClient {
122+
getAfcClientForAppDocuments(applicationIdentifier: string): Mobile.IAfcClient;
123+
getAfcClientForAppContainer(applicationIdentifier: string): Mobile.IAfcClient;
124+
closeSocket(): void;
125+
}
126+
127+
interface IAfcClient {
128+
transferCollection(localToDevicePaths: Mobile.ILocalToDevicePathData[]): IFuture<void>;
129+
deleteFile(devicePath: string): void;
130+
}
131+
132+
interface ILocalToDevicePathData {
133+
getLocalPath(): string;
134+
getDevicePath(): string;
135+
getRelativeToProjectBasePath(): string;
136+
}
137+
138+
interface IiOSDeviceSocket {
139+
receiveMessage(): IFuture<void>;
140+
readSystemLog(action: (data: NodeBuffer) => void): void;
141+
sendMessage(message: {[key: string]: {}}, format?: number): void;
142+
close(): void;
143+
}
144+
145+
interface IPlatformCapabilities {
146+
wirelessDeploy: boolean;
147+
cableDeploy: boolean;
148+
companion: boolean;
149+
publishTelerikAppManager: boolean;
150+
hostPlatformsForDeploy: string[];
151+
}
152+
}

0 commit comments

Comments
 (0)