{
- "supported": ["VehicleSpeed", "WheelSpeed", "EngineSpeed", "VehiclePowerModeType", "TripMeter",
- "Acceleration", "Transmission", "CruiseControlStatus", "WheelBrake",
+ "supported": ["VehicleSpeed", "WheelSpeed", "EngineSpeed", "VehiclePowerModeType",
+ "Acceleration", "Transmission", "CruiseControlStatus",
"LightStatus", "InteriorLightStatus", "Horn", "Fuel", "EngineOil",
- "Location", "ExteriorBrightness", "Temperature", "RainSensor",
- "WindshieldWiper", "ClimateControl", "WindowStatus", "Sunroof", "ConvertibleRoof",
- "Identification", "SizeConfiguration", "FuelConfiguration", "VehicleType", "Doors",
- "TransmissionConfiguration", "WheelInformation", "Odometer", "Fluid", "BatteryStatus",
- "TirePressure", "TireTemperature", "SecurityAlert", "ParkingBrake",
- "ParkingLight", "HazardLight", "AntilockBrakingSystem", "TractionControlSystem",
- "VehicleTopSpeedLimit", "AirbagStatus", "DoorStatus", "SeatBeltStatus",
- "OccupantStatus", "ObstacleDistance", "NightMode", "DrivingMode",
- "TurnSignal", "ButtonEvent", "SteeringWheel", "ThrottlePosition", "EngineCoolant"],
+ "Temperature", "RainSensor",
+ "ClimateControl", "Sunroof", "ConvertibleRoof",
+ "Identification", "SizeConfiguration", "FuelConfiguration",
+ "TransmissionConfiguration", "Odometer", "BatteryStatus", "ParkingBrake",
+ "AntilockBrakingSystem", "TractionControlSystem",
+ "AirbagStatus", "NightMode", "DrivingMode",
+ "ButtonEvent", "SteeringWheel", "ThrottlePosition", "EngineCoolant"],
"newestHistory": null,
"currentConfiguration": 0,
"configurationData": [
- ["AFA", "21D1M2883N342FFG7", 2096, 1860, 4779, 0, 0, 0, [2, 2], 0, 1953, 2000, 1465, true],
- ["KMH", "21D1M2888N342FFL7", 2125, 1961, 4901, 4, 3, 4, [2, 2], 2, 1964, 2000, 1470, true],
- ["AAV", "31D1M2878N342DFL9", 2025, 1861, 4811, 4, 3, 1, [2, 2], 2, 1964, 2000, 1470, true]
+ ["AFA", "21D1M2883N342FFG7", 2096, 1860, 4779, 0, 0, 0],
+ ["KMH", "21D1M2888N342FFL7", 2125, 1961, 4901, 4, 3, 2],
+ ["AAV", "31D1M2878N342DFL9", 2025, 1861, 4811, 4, 3, 2]
],
"settingData": [
- 0, 0, true, 0, true, false, false, false, false, false, false, false, false, false, false, false, false,
- 0, 0x04, 0, 0, false, false, false, false, false, false, 0, 0, "closed", true, "inactive", true, true, true, true, 120,
- 0, true, false, 0, true, true, false, 0, 10, false, false, 0, 0, 0, 10, 80, 50, 50, 70, 70, 10, 10, 10, 10 ],
+ 0, 0, true, 0, false, false, false, false, false, false, false, false, false, false, false, false,
+ 0x04, 0, 0, false, false, false, false, false, false, 0, 0, "closed", "inactive", true, true,
+ false, false, false, 10, 80],
"autoRunningData": [
- [0, 0, 0, 0, [0], 0, 0, 0, 100, 20, 59, 10, 15, 100, 5, 0, -23.5, -54.4, 100.1, 0, 100, 0, 9, 0, 1500, 10, 10, -90, 0, 10, 40],
- [10, 10, 100, 3, [100], 10, 10, 10, 99, 20, 59, 10, 15, 99, 10, 20, -23.0, -53.2, 100.4, 0, 100, 5, 4, 0, 1600, 10, 10, -80, 2, 10, 41],
- [20, 20, 200, 3, [110], 20, 20, 20, 98, 20, 59, 10, 15, 98, 20, 30, -22.5, -54.0, 100.9, 0, 100, 15, 5, 0, 1700, 10, 10, -70, 4, 10, 42],
- [30, 30, 300, 3, [120], 20, 20, 20, 97, 20, 59, 10, 15, 97, 30, 40, -22.0, -55.4, 100.5, 0, 100, 20, 6, 0, 1800, 10, 10, -60, 6, 10, 43],
- [40, 40, 400, 3, [130], 20, 20, 20, 96, 20, 59, 10, 15, 96, 35, 54, -21.5, -54.4, 99.4, 0, 100, 22, 2, 0, 1900, 10, 10, -50, 8, 10, 44],
- [50, 50, 500, 3, [140], 20, 20, 20, 95, 20, 59, 10, 15, 95, 32, 50, -21.0, -54.9, 100.5, 0, 100, 21, 5, 0, 2000, 10, 10, -40, 10, 10, 45],
- [60, 60, 600, 3, [140, 100], 20, 20, 20, 94, 20, 59, 10, 15, 94, 30, 54, -20.5, -54.4, 98.9, 0, 100, 20, 7, 0, 2100, 10, 10, -30, 12, 10, 50],
- [70, 70, 700, 3, [140, 110], 20, 20, 20, 93, 20, 59, 10, 15, 93, 31, 51, -20.0, -54.4, 100.5, 0, 100, 21, 9, 0, 2200, 10, 10, -20, 14, 10, 51],
- [80, 80, 800, 3, [140, 120], 20, 20, 20, 92, 20, 59, 10, 15, 92, 30, 54, -19.5, -56.4, 99.5, 0, 100, 21, 8, 0, 2300, 10, 10, -10, 16, 10, 52],
- [90, 90, 900, 3, [140, 130], 20, 20, 20, 91, 20, 59, 10, 15, 91, 32, 49, -19.0, -54.4, 100.5, 0, 100, 21, 6, 0, 2400, 10, 10, 0, 18, 10, 53],
- [100, 100, 1000, 3, [140, 140], 20, 20, 20, 90, 20, 59, 10, 15, 90, 30, 54, -18.5, -52.4, 100.5, 0, 100, 22, 9, 0, 2500, 10, 10, 10, 20, 10, 54],
- [110, 110, 1100, 3, [140, 150], 20, 20, 20, 89, 20, 59, 10, 15, 89, 30, 54, -18.0, -54.4, 100.5, 0, 100, 21, 8, 0, 2600, 10, 10, 20, 22, 10, 55],
- [120, 120, 1200, 3, [140, 160], 20, 20, 20, 88, 20, 59, 10, 15, 88, 29, 48, -17.8, -51.4, 97.2, 0, 100, 20, 6, 0, 2700, 10, 10, 30, 24, 10, 60],
- [130, 130, 1300, 3, [140, 160, 100], 20, 20, 20, 87, 20, 59, 10, 15, 87, 30, 54, -17.4, -54.1, 100.5, 0, 100, 21, 5, 0, 2800, 10, 10, 40, 26, 10, 61],
- [140, 140, 1400, 3, [140, 160, 110], 20, 20, 20, 86, 20, 59, 10, 15, 86, 25, 46, -16.9, -54.4, 100.2, 0, 100, 19, 4, 0, 2900, 10, 10, 50, 28, 10, 62],
- [150, 150, 1500, 3, [140, 160, 120], 20, 20, 20, 85, 20, 59, 10, 15, 85, 30, 54, -16.4, -54.3, 100.5, 0, 100, 21, 9, 0, 3000, 10, 10, 60, 30, 10, 63],
- [160, 160, 1600, 3, [140, 160, 130], 20, 20, 20, 84, 20, 59, 10, 15, 84, 30, 54, -16.0, -54.4, 100.5, 0, 100, 23, 3, 0, 3100, 10, 10, 70, 32, 10, 64],
- [170, 170, 1700, 3, [140, 160, 140], 20, 20, 20, 83, 20, 59, 10, 15, 83, 28, 51, -15.0, -54.4, 100.0, 0, 100, 21, 5, 0, 3200, 10, 10, 80, 34, 10, 65],
- [180, 180, 1800, 3, [140, 160, 150], 20, 20, 20, 82, 20, 59, 10, 15, 82, 30, 54, -14.3, -54.9, 100.5, 0, 100, 21, 6, 0, 3300, 10, 10, 90, 36, 10, 80],
- [190, 190, 1900, 3, [140, 160, 160], 20, 20, 20, 81, 20, 59, 10, 15, 81, 27, 54, -14.0, -54.4, 100.5, 0, 100, 20, 5, 0, 3400, 10, 10, 80, 38, 10, 81],
- [200, 200, 2000, 3, [140, 160, 170], 20, 20, 20, 80, 20, 59, 10, 15, 80, 30, 52, -13.2, -54.4, 101.5, 0, 100, 21, 5, 0, 3500, 10, 10, 70, 40, 10, 82],
- [210, 210, 2100, 3, [140, 160, 180], 20, 20, 20, 79, 20, 59, 10, 15, 79, 30, 53, -12.5, -54.4, 100.5, 0, 100, 22, 6, 0, 3600, 10, 10, 60, 42, 10, 83],
- [220, 220, 2200, 3, [140, 160, 190], 20, 20, 20, 78, 20, 59, 10, 15, 78, 32, 54, -11.0, -54.7, 105.5, 0, 100, 21, 4, 0, 3700, 10, 10, 50, 44, 10, 84],
- [230, 230, 2300, 3, [140, 160, 200], 20, 20, 20, 77, 20, 59, 10, 15, 77, 30, 54, -10.5, -51.9, 100.5, 0, 100, 22, 0, 0, 3800, 10, 10, 40, 46, 10, 85],
- [240, 240, 2400, 3, [140, 160, 200, 100], 20, 20, 20, 76, 20, 59, 10, 15, 76, 33, 55, -6.9, -54.4, 100.3, 0, 100, 21, 8, 0, 3900, 10, 10, 30, 48, 10, 100],
- [250, 250, 2500, 3, [140, 160, 200, 110], 20, 20, 20, 75, 20, 59, 10, 15, 75, 30, 54, 0, -54.4, 110.5, 0, 100, 21, 1, 0, 4000, 10, 10, 20, 50, 10, 101],
- [260, 260, 2600, 3, [140, 160, 200, 110, 100], 20, 20, 20, 74, 20, 59, 10, 15, 74, 29, 54, 1.9, -54.4, 100.5, 0, 100, 20, 7, 0, 4100, 10, 10, 10, 52, 10, 102],
- [270, 270, 2700, 3, [140, 160, 200, 110, 110], 20, 20, 20, 73, 20, 59, 10, 15, 73, 30, 50, 11.2, -54.4, 100.5, 0, 100, 21, 6, 0, 4200, 10, 10, 0, 54, 10, 103],
- [280, 280, 2800, 3, [140, 160, 200, 110, 120], 20, 20, 20, 72, 20, 59, 10, 15, 72, 28, 54, 12.5, -54.4, 102.4, 0, 100, 18, 5, 0, 4300, 10, 10, 0, 56, 10, 104],
- [270, 270, 2700, 3, [140, 160, 200, 110, 130], 20, 20, 20, 73, 20, 59, 10, 15, 73, 30, 50, 11.2, -54.4, 100.5, 0, 100, 21, 6, 0, 4400, 10, 10, -10, 58, 10, 105],
- [260, 260, 2600, 3, [140, 160, 200, 110, 140], 20, 20, 20, 74, 20, 59, 10, 15, 74, 29, 54, 1.9, -54.4, 100.5, 0, 100, 20, 7, 0, 4500, 10, 10, -20, 60, 10, 110],
- [240, 240, 2400, 3, [140, 160, 200, 110, 150], 20, 20, 20, 74, 20, 59, 10, 15, 74, 29, 54, 1.9, -54.4, 100.5, 0, 100, 20, 7, 0, 4600, 10, 10, -40, 62, 10, 111],
- [220, 220, 2200, 3, [140, 160, 200, 110, 160], 20, 20, 20, 74, 20, 59, 10, 15, 74, 29, 54, 1.9, -54.4, 100.5, 0, 100, 20, 7, 0, 4700, 10, 10, -60, 64, 10, 112],
- [200, 200, 2000, 3, [140, 160, 200, 110, 170], 20, 20, 20, 74, 20, 59, 10, 15, 74, 29, 54, 1.9, -54.4, 100.5, 0, 100, 20, 7, 0, 4800, 10, 10, -80, 66, 10, 113],
- [180, 180, 1800, 3, [140, 160, 200, 110, 180], 20, 20, 20, 74, 20, 59, 10, 15, 74, 29, 54, 1.9, -54.4, 100.5, 0, 100, 20, 7, 0, 4900, 10, 10, -90, 68, 10, 114],
- [160, 160, 1600, 3, [140, 160, 200, 110, 190], 20, 20, 20, 74, 20, 59, 10, 15, 74, 29, 54, 1.9, -54.4, 100.5, 0, 100, 20, 7, 0, 5000, 10, 10, -80, 70, 10, 115],
- [140, 140, 1400, 3, [140, 160, 200, 110, 200], 20, 20, 20, 74, 20, 59, 10, 15, 74, 29, 54, 1.9, -54.4, 100.5, 0, 100, 20, 7, 0, 5100, 10, 10, -70, 72, 10, 120],
- [120, 120, 1200, 3, [140, 160, 200, 110, 210], 20, 20, 20, 74, 20, 59, 10, 15, 74, 29, 54, 1.9, -54.4, 100.5, 0, 100, 20, 7, 0, 5200, 10, 10, -40, 74, 10, 121],
- [100, 100, 1000, 3, [140, 160, 200, 110, 220], 20, 20, 20, 74, 20, 59, 10, 15, 74, 29, 54, 1.9, -54.4, 100.5, 0, 100, 20, 7, 0, 5300, 10, 10, -20, 76, 10, 122],
- [80, 80, 800, 3, [140, 160, 200, 110, 230], 20, 20, 20, 74, 20, 59, 10, 15, 74, 29, 54, 1.9, -54.4, 100.5, 0, 100, 20, 7, 0, 5400, 10, 10, -10, 78, 10, 123],
- [60, 60, 600, 3, [140, 160, 200, 110, 240], 20, 20, 20, 74, 20, 59, 10, 15, 74, 29, 54, 1.9, -54.4, 100.5, 0, 100, 20, 7, 0, 5500, 10, 10, 0, 80, 10, 124],
- [40, 40, 400, 3, [140, 160, 200, 110, 250], 20, 20, 20, 74, 20, 59, 10, 15, 74, 29, 54, 1.9, -54.4, 100.5, 0, 100, 20, 7, 0, 5600, 10, 10, 0, 82, 10, 125],
- [20, 20, 200, 3, [140, 160, 200, 110, 260], 20, 20, 20, 74, 20, 59, 10, 15, 74, 29, 54, 1.9, -54.4, 100.5, 0, 100, 20, 7, 0, 5700, 10, 10, 0, 84, 10, 130],
- [10, 10, 100, 3, [140, 160, 200, 110, 270], 20, 20, 20, 74, 20, 59, 10, 15, 74, 29, 54, 1.9, -54.4, 100.5, 0, 100, 20, 7, 0, 5800, 10, 10, 10, 86, 10, 131]
+ [0, 0, 0, 0, 0, 0, 0, 100, 20, 59, 10, 15, 100, 5, 0, 0, 9, 0, 1500, 10, -90, 0, 10, 40],
+ [10, 10, 100, 3, 10, 10, 10, 99, 20, 59, 10, 15, 99, 10, 20, 5, 4, 0, 1600, 10, -80, 2, 10, 41],
+ [20, 20, 200, 3, 20, 20, 20, 98, 20, 59, 10, 15, 98, 20, 30, 15, 5, 0, 1700, 10, -70, 4, 10, 42],
+ [30, 30, 300, 3, 20, 20, 20, 97, 20, 59, 10, 15, 97, 30, 40, 20, 6, 0, 1800, 10, -60, 6, 10, 43],
+ [40, 40, 400, 3, 20, 20, 20, 96, 20, 59, 10, 15, 96, 35, 54, 22, 2, 0, 1900, 10, -50, 8, 10, 44],
+ [50, 50, 500, 3, 20, 20, 20, 95, 20, 59, 10, 15, 95, 32, 50, 21, 5, 0, 2000, 10, -40, 10, 10, 45],
+ [60, 60, 600, 3, 20, 20, 20, 94, 20, 59, 10, 15, 94, 30, 54, 20, 7, 0, 2100, 10, -30, 12, 10, 50],
+ [70, 70, 700, 3, 20, 20, 20, 93, 20, 59, 10, 15, 93, 31, 51, 21, 9, 0, 2200, 10, -20, 14, 10, 51],
+ [80, 80, 800, 3, 20, 20, 20, 92, 20, 59, 10, 15, 92, 30, 54, 21, 8, 0, 2300, 10, -10, 16, 10, 52],
+ [90, 90, 900, 3, 20, 20, 20, 91, 20, 59, 10, 15, 91, 32, 49, 21, 6, 0, 2400, 10, 0, 18, 10, 53],
+ [100, 100, 1000, 3, 20, 20, 20, 90, 20, 59, 10, 15, 90, 30, 54, 22, 9, 0, 2500, 10, 10, 20, 10, 54],
+ [110, 110, 1100, 3, 20, 20, 20, 89, 20, 59, 10, 15, 89, 30, 54, 21, 8, 0, 2600, 10, 20, 22, 10, 55],
+ [120, 120, 1200, 3, 20, 20, 20, 88, 20, 59, 10, 15, 88, 29, 48, 20, 6, 0, 2700, 10, 30, 24, 10, 60],
+ [130, 130, 1300, 3, 20, 20, 20, 87, 20, 59, 10, 15, 87, 30, 54, 21, 5, 0, 2800, 10, 40, 26, 10, 61],
+ [140, 140, 1400, 3, 20, 20, 20, 86, 20, 59, 10, 15, 86, 25, 46, 19, 4, 0, 2900, 10, 50, 28, 10, 62],
+ [150, 150, 1500, 3, 20, 20, 20, 85, 20, 59, 10, 15, 85, 30, 54, 21, 9, 0, 3000, 10, 60, 30, 10, 63],
+ [160, 160, 1600, 3, 20, 20, 20, 84, 20, 59, 10, 15, 84, 30, 54, 23, 3, 0, 3100, 10, 70, 32, 10, 64],
+ [170, 170, 1700, 3, 20, 20, 20, 83, 20, 59, 10, 15, 83, 28, 51, 21, 5, 0, 3200, 10, 80, 34, 10, 65],
+ [180, 180, 1800, 3, 20, 20, 20, 82, 20, 59, 10, 15, 82, 30, 54, 21, 6, 0, 3300, 10, 90, 36, 10, 80],
+ [190, 190, 1900, 3, 20, 20, 20, 81, 20, 59, 10, 15, 81, 27, 54, 20, 5, 0, 3400, 10, 80, 38, 10, 81],
+ [200, 200, 2000, 3, 20, 20, 20, 80, 20, 59, 10, 15, 80, 30, 52, 21, 5, 0, 3500, 10, 70, 40, 10, 82],
+ [210, 210, 2100, 3, 20, 20, 20, 79, 20, 59, 10, 15, 79, 30, 53, 22, 6, 0, 3600, 10, 60, 42, 10, 83],
+ [220, 220, 2200, 3, 20, 20, 20, 78, 20, 59, 10, 15, 78, 32, 54, 21, 4, 0, 3700, 10, 50, 44, 10, 84],
+ [230, 230, 2300, 3, 20, 20, 20, 77, 20, 59, 10, 15, 77, 30, 54, 22, 0, 0, 3800, 10, 40, 46, 10, 85],
+ [240, 240, 2400, 3, 20, 20, 20, 76, 20, 59, 10, 15, 76, 33, 55, 21, 8, 0, 3900, 10, 30, 48, 10, 100],
+ [250, 250, 2500, 3, 20, 20, 20, 75, 20, 59, 10, 15, 75, 30, 54, 21, 1, 0, 4000, 10, 20, 50, 10, 101],
+ [260, 260, 2600, 3, 20, 20, 20, 74, 20, 59, 10, 15, 74, 29, 54, 20, 7, 0, 4100, 10, 10, 52, 10, 102],
+ [270, 270, 2700, 3, 20, 20, 20, 73, 20, 59, 10, 15, 73, 30, 50, 21, 6, 0, 4200, 10, 0, 54, 10, 103],
+ [280, 280, 2800, 3, 20, 20, 20, 72, 20, 59, 10, 15, 72, 28, 54, 18, 5, 0, 4300, 10, 0, 56, 10, 104],
+ [270, 270, 2700, 3, 20, 20, 20, 73, 20, 59, 10, 15, 73, 30, 50, 21, 6, 0, 4400, 10, -10, 58, 10, 105],
+ [260, 260, 2600, 3, 20, 20, 20, 74, 20, 59, 10, 15, 74, 29, 54, 20, 7, 0, 4500, 10, -20, 60, 10, 110],
+ [240, 240, 2400, 3, 20, 20, 20, 74, 20, 59, 10, 15, 74, 29, 54, 20, 7, 0, 4600, 10, -40, 62, 10, 111],
+ [220, 220, 2200, 3, 20, 20, 20, 74, 20, 59, 10, 15, 74, 29, 54, 20, 7, 0, 4700, 10, -60, 64, 10, 112],
+ [200, 200, 2000, 3, 20, 20, 20, 74, 20, 59, 10, 15, 74, 29, 54, 20, 7, 0, 4800, 10, -80, 66, 10, 113],
+ [180, 180, 1800, 3, 20, 20, 20, 74, 20, 59, 10, 15, 74, 29, 54, 20, 7, 0, 4900, 10, -90, 68, 10, 114],
+ [160, 160, 1600, 3, 20, 20, 20, 74, 20, 59, 10, 15, 74, 29, 54, 20, 7, 0, 5000, 10, -80, 70, 10, 115],
+ [140, 140, 1400, 3, 20, 20, 20, 74, 20, 59, 10, 15, 74, 29, 54, 20, 7, 0, 5100, 10, -70, 72, 10, 120],
+ [120, 120, 1200, 3, 20, 20, 20, 74, 20, 59, 10, 15, 74, 29, 54, 20, 7, 0, 5200, 10, -40, 74, 10, 121],
+ [100, 100, 1000, 3, 20, 20, 20, 74, 20, 59, 10, 15, 74, 29, 54, 20, 7, 0, 5300, 10, -20, 76, 10, 122],
+ [80, 80, 800, 3, 20, 20, 20, 74, 20, 59, 10, 15, 74, 29, 54, 20, 7, 0, 5400, 10, -10, 78, 10, 123],
+ [60, 60, 600, 3, 20, 20, 20, 74, 20, 59, 10, 15, 74, 29, 54, 20, 7, 0, 5500, 10, 0, 80, 10, 124],
+ [40, 40, 400, 3, 20, 20, 20, 74, 20, 59, 10, 15, 74, 29, 54, 20, 7, 0, 5600, 10, 0, 82, 10, 125],
+ [20, 20, 200, 3, 20, 20, 20, 74, 20, 59, 10, 15, 74, 29, 54, 20, 7, 0, 5700, 10, 0, 84, 10, 130],
+ [10, 10, 100, 3, 20, 20, 20, 74, 20, 59, 10, 15, 74, 29, 54, 20, 7, 0, 5800, 10, 10, 86, 10, 131]
]
}
/*!
- Ripple Mobile Environment Emulator v0.9.8 :: Built On Wed Sep 24 2014 17:34:15 GMT+0800 (CST)
+ Ripple Mobile Environment Emulator v0.9.8 :: Built On Wed Oct 29 2014 11:20:58 GMT+0800 (CST)
Apache License
Version 2.0, January 2004
}
function _bindObjectsToFrame(frame) {
- _srcChangedObserver.observe(frame, {attributes: true, attributeFilter: ["src"]});
+ //_srcChangedObserver.observe(frame, {attributes: true, attributeFilter: ["src"]});
frame.addEventListener("DOMNodeInserted", _beforeLoad);
// frame.addEventListener("beforeload", _beforeLoad);
// beforeload event of an iframe will not be triggered unless we detach and
setTimeout(function() {
jQuery("#device-maskmask").hide();
}, 50);
- }
+ };
event.trigger("TinyHipposLoaded");
_cleanBody();
};
});
+define('ripple/devices/TV-HD', function (require, exports, module) {
+/*
+ * Copyright 2014 Intel Corporation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless requWEBAPIS-HD.jsired by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+module.exports = {
+ "id": "TV-HD",
+ "name": "TV HD (1280x720)",
+ "osName": "Generic",
+ "osVersion": "Generic",
+ "manufacturer": "Tizen",
+ "model": "Generic",
+ "uuid": "42",
+ "firmware": "Generic",
+
+ "screen": {
+ "width": 1280,
+ "height": 720
+ },
+ "viewPort": {
+ "portrait": {
+ "width": 1280,
+ "height": 720,
+ "paddingTop": 0,
+ "paddingLeft": 0
+ },
+ "landscape": {
+ "width": 1280,
+ "height": 720,
+ "paddingTop": 0,
+ "paddingLeft": 0
+ }
+ },
+
+ "ppi": 316,
+ "browser": ["Generic"],
+ "platforms": ["tv"],
+ "userAgent": "Mozilla/5.0 (X11; U; Linux x86_64; en-US) AppleWebKit/533.2 (KHTML, like Gecko) Chrome/5.0.342.7 Safari/533.2"
+};
+
+});
define('ripple/devices/Tattoo', function (require, exports, module) {
/*
* Copyright 2011 Research In Motion Limited.
*/ "FULL-HD",
"IVI-HD",
"Wearable-HD",
+ "TV-HD",
"tizen-WVGA",
/*
"HPPre3",
//can support all properties.
_vehicleMapStack.vehicleProperties = [
- "VehicleSpeed", "WheelSpeed", "EngineSpeed", "VehiclePowerModeType", "TripMeter",
- "Acceleration", "Transmission", "CruiseControlStatus", "WheelBrake",
- "LightStatus", "InteriorLightStatus", "Horn", "Fuel", "EngineOil",
- "Location", "ExteriorBrightness", "Temperature", "RainSensor",
- "WindshieldWiper", "ClimateControl", "WindowStatus", "Sunroof", "ConvertibleRoof",
- "Identification", "SizeConfiguration", "FuelConfiguration", "VehicleType", "Doors",
- "TransmissionConfiguration", "WheelInformation", "Odometer", "Fluid", "BatteryStatus",
- "TirePressure", "TireTemperature", "SecurityAlert", "ParkingBrake",
- "ParkingLight", "HazardLight", "AntilockBrakingSystem", "TractionControlSystem",
- "VehicleTopSpeedLimit", "AirbagStatus", "DoorStatus", "SeatBeltStatus",
- "OccupantStatus", "ObstacleDistance", "NightMode", "DrivingMode",
- "TurnSignal", "ButtonEvent", "SteeringWheel", "ThrottlePosition", "EngineCoolant"
+ "VehicleSpeed", "WheelSpeed", "EngineSpeed", "VehiclePowerModeType",
+ "Acceleration", "Transmission", "CruiseControlStatus", "LightStatus",
+ "InteriorLightStatus", "Horn", "Fuel", "EngineOil", "Temperature",
+ "RainSensor", "ClimateControl", "Sunroof", "ConvertibleRoof",
+ "Identification", "SizeConfiguration", "FuelConfiguration",
+ "TransmissionConfiguration", "Odometer", "BatteryStatus", "ParkingBrake",
+ "AntilockBrakingSystem", "TractionControlSystem", "AirbagStatus",
+ "NightMode", "DrivingMode", "ButtonEvent", "SteeringWheel",
+ "ThrottlePosition", "EngineCoolant"
];
//Vehicle Configuration
_vehicleMapStack.vehicleConfigurationMap = [
- "Identification-WMI", "Identification-VIN",
- "SizeConfiguration-width", "SizeConfiguration-height", "SizeConfiguration-length",
+ "Identification-WMI", "Identification-VIN", "SizeConfiguration-width",
+ "SizeConfiguration-height", "SizeConfiguration-length",
"FuelConfiguration-fuelType", "FuelConfiguration-refuelPosition",
- "VehicleType-type",
- "Doors-doorsPerRow",
- "TransmissionConfiguration-transmissionGearType",
- "WheelInformation-frontWheelRadius", "WheelInformation-rearWheelRadius", "WheelInformation-wheelTrack", "WheelInformation-ABS"
+ "TransmissionConfiguration-transmissionGearType"
];
//all ranged attributes' min. max and step.
"EngineOil-remaining": [0, 100, 1],
"EngineOil-temperature": [0, 100, 1],
"EngineOil-pressure": [0, 1000, 1],
- "Location-latitude": [-180, 180, 1],
- "Location-longitude": [-19, 90, 1],
- "Location-altitude": [0, 100, 1],
- "Location-direction": [0, 360, 1],
- "ExteriorBrightness-exteriorBrightness": [0, 100, 1],
"Temperature-interiorTemperature": [-5, 35, 1],
"Temperature-exteriorTemperature": [-40, 60, 1],
"Odometer-distanceTotal": [0, 10000, 10],
"ClimateControl-targetTemperature": [0, 35, 7],
"Sunroof-openness": [0, 100, 1],
"Sunroof-tilt": [0, 100, 1],
- "WindowStatus-openness": [0, 100, 1],
- "VehicleTopSpeedLimit-vehicleTopSpeedLimit": [0, 400, 1],
- "ObstacleDistance-obstacleDistance": [0, 120, 1],
- "Fluid-transmission": [0, 100, 1],
- "Fluid-brake": [0, 100, 1],
- "Fluid-washer": [0, 100, 1],
"BatteryStatus-voltage": [0, 12, 1],
"BatteryStatus-current": [0, 200, 1],
- "TirePressure-leftFront": [0, 500, 1],
- "TirePressure-rightFront": [0, 500, 1],
- "TirePressure-leftRear": [0, 500, 1],
- "TirePressure-rightRear": [0, 500, 1],
- "TireTemperature-leftFront": [0, 60, 1],
- "TireTemperature-rightFront": [0, 60, 1],
- "TireTemperature-leftRear": [0, 60, 1],
- "TireTemperature-rightRear": [0, 60, 1],
- "TurnSignal-turnSignal": [0, 100, 1],
"ButtonEvent-buttonEvent": [0, 100, 1],
"SteeringWheel-angle": [-90, 90, 1],
"ThrottlePosition-value": [0, 100, 1],
"options": [{"OFF": "off"},{"ACCESSORY1": "accessory1"},
{"ACCESSORY2": "accessory2"},{"RUNNING": "running"}]
},
- "TripMeter-tripMeters": {
- "type": "text"
- },
"Acceleration-x": {
"type": "range"
},
"EngineOil-pressure": {
"type": "range"
},
- "Location-latitude": {
- "type": "range"
- },
- "Location-longitude": {
- "type": "range"
- },
- "Location-altitude": {
- "type": "range"
- },
- "Location-direction": {
- "type": "range"
- },
- "ExteriorBrightness-exteriorBrightness": {
- "type": "range"
- },
"Temperature-interiorTemperature": {
"type": "range"
},
},
"RainSensor-rain": {
"type": "select",
- "options": [{"No Rain": 0},{"Rain 1": 1},{"Rain 2": 2},{"Rain 3": 3},{"Rain 4": 4},{"Rain 5": 5},
- {"Rain 6": 6},{"Rain 7": 7},{"Rain 8": 8},{"Rain 9": 9},{"Heaviest": 10}]
+ "options": [{"No Rain": 0},{"Rain 1": 1},{"Rain 2": 2},{"Rain 3": 3},
+ {"Rain 4": 4},{"Rain 5": 5},{"Rain 6": 6},{"Rain 7": 7},
+ {"Rain 8": 8},{"Rain 9": 9},{"Heaviest": 10}]
},
"Odometer-distanceTotal": {
"type": "range"
},
- "TurnSignal-turnSignal": {
- "type": "range"
- },
"ButtonEvent-buttonEvent": {
"type": "range"
},
_vehicleMapStack.vehicleSettingMap = {
"Transmission-gear": {
"type": "select",
- "options": [{"NEUTRAL": 0},{"FIRST": 1},{"SECOND": 2},{"THIRD": 3}, {"FORTH": 4},{"FIFTH": 5},
- {"SIXTH": 6},{"SEVENTH": 7}, {"EIGHTH": 8},{"NINTH": 9},{"TENTH": 10},{"CVT": 64},
+ "options": [{"NEUTRAL": 0},{"FIRST": 1},{"SECOND": 2},{"THIRD": 3},
+ {"FORTH": 4},{"FIFTH": 5},{"SIXTH": 6},{"SEVENTH": 7},
+ {"EIGHTH": 8},{"NINTH": 9},{"TENTH": 10},{"CVT": 64},
{"REVERSE": 128},{"PARK": 255}]
},
"Transmission-mode": {
"type": "select",
- "options": [{"NORMAL": 0},{"SPORT": 1},{"ECONOMY": 2}, {"OEMCUSTOM1": 3},{"OEMCUSTOM2": 4}]
+ "options": [{"NORMAL": 0},{"SPORT": 1},{"ECONOMY": 2},
+ {"OEMCUSTOM1": 3},{"OEMCUSTOM2": 4}]
},
"CruiseControlStatus-status": {
"type": "radio",
"CruiseControlStatus-speed": {
"type": "range"
},
- "WheelBrake-engaged": {
- "type": "radio",
- "options": [{"Engaged": true}, {"Disengaged": false}]
- },
"LightStatus-head": {
"type": "radio",
"options": [{"On": true}, {"Off": false}]
"type": "radio",
"options": [{"On": true}, {"Off": false}]
},
- "WindshieldWiper-windshieldWiper": {
- "type": "select",
- "options": [{"OFF": 0},{"SLOWEST": 1},{"FASTEST": 5},{"AUTO": 10}]
- },
"ClimateControl-airflowDirection": {
"type": "select",
- "options": [{"FRONTPANEL": 0},{"FLOORDUCT": 1},{"FRONT": 0x02}, {"DEFROSTER": 0x04}]
+ "options": [{"FRONTPANEL": 0},{"FLOORDUCT": 1},{"FRONT": 0x02},
+ {"DEFROSTER": 0x04}]
},
"ClimateControl-fanSpeedLevel": {
"type": "select",
- "options": [{"0": 0},{"1": 1},{"2": 2},{"3": 3},{"4": 4},{"5": 5}, {"6": 6},{"7": 7}]
+ "options": [{"0": 0},{"1": 1},{"2": 2},{"3": 3},{"4": 4},{"5": 5},
+ {"6": 6},{"7": 7}]
},
"ClimateControl-targetTemperature": {
"type": "range"
"options": [{"CLOSED": "closed"},{"CLOSING": "closing"},
{"OPENING": "opening"},{"OPENED": "opened"}]
},
- "SecurityAlert-securityAlert": {
- "type": "radio",
- "options": [{"On": true}, {"Off": false}]
- },
"ParkingBrake-status": {
"type": "select",
"options": [{"INACTIVE": "inactive"},{"ACTIVE": "active"},
{"ERROR": "error"}]
},
- "ParkingLight-parkingLight": {
- "type": "radio",
- "options": [{"Engaged": true}, {"Disengaged": false}]
- },
- "HazardLight-hazardLight": {
- "type": "radio",
- "options": [{"Engaged": true}, {"Disengaged": false}]
- },
"AntilockBrakingSystem-engaged": {
"type": "radio",
"options":[{"Engaged": true}, {"Idle": false}]
"type": "radio",
"options": [{"On": true}, {"Off": false}]
},
- "VehicleTopSpeedLimit-vehicleTopSpeedLimit": {
- "type": "range"
- },
- "WindowStatus-openness": {
- "type": "range"
- },
- "WindowStatus-defrost": {
- "type": "radio",
- "options": [{"On": true}, {"Off": false}]
- },
"AirbagStatus-activated": {
"type": "radio",
"options": [{"INACTIVE": false}, {"ACTIVE": true}]
},
- "DoorStatus-doorStatus": {
- "type": "select",
- "options": [{"CLOSED": 0},{"OPEN": 1},{"AJAR": 2}]
- },
- "DoorStatus-doorLockStatus": {
- "type": "radio",
- "options": [{"Locked": true}, {"Unlocked": false}]
- },
- "DoorStatus-childLockStatus": {
- "type": "radio",
- "options": [{"On": true}, {"Off": false}]
- },
- "SeatBeltStatus-seatBeltStatus": {
- "type": "radio",
- "options": [{"Fasten": true}, {"Unfastened": false}]
- },
- "OccupantStatus-occupantStatus": {
- "type": "select",
- "options": [{"VACANT": 0},{"CHILD": 1},{"ADULT": 2}]
- },
- "ObstacleDistance-obstacleDistance": {
- "type": "range"
- },
"NightMode-mode": {
"type": "radio",
"options": [{"Night": true}, {"Day": false}]
"type": "radio",
"options": [{"Driving": true}, {"No Driving": false}]
},
- "Fluid-transmission": {
- "type": "range"
- },
- "Fluid-brake": {
- "type": "range"
- },
- "Fluid-washer": {
- "type": "range"
- },
"BatteryStatus-voltage": {
"type": "range"
},
"BatteryStatus-current": {
"type": "range"
- },
- "TirePressure-leftFront": {
- "type": "range"
- },
- "TirePressure-rightFront": {
- "type": "range"
- },
- "TirePressure-leftRear": {
- "type": "range"
- },
- "TirePressure-rightRear": {
- "type": "range"
- },
- "TireTemperature-leftFront": {
- "type": "range"
- },
- "TireTemperature-rightFront": {
- "type": "range"
- },
- "TireTemperature-leftRear": {
- "type": "range"
- },
- "TireTemperature-rightRear": {
- "type": "range"
}
};
"VehicleSpeed-speed": "kph",
"WheelSpeed-speed": "m/h",
"EngineSpeed-speed": "rpm",
- "TripMeter-tripMeters": "[m,...]",
"CruiseControlStatus-speed": "kph",
"Fuel-level": "%",
"Fuel-instantConsumption": "ml/s",
"EngineOil-remaining": "%",
"EngineOil-temperature": "C",
"EngineOil-pressure": "kpa",
- "ExteriorBrightness-exteriorBrightness": "lux",
"Temperature-interiorTemperature": "C",
"Temperature-exteriorTemperature": "C",
"ClimateControl-targetTemperature": "C",
"Sunroof-openness": "%",
"Sunroof-tilt": "%",
- "WindowStatus-openness": "%",
- "ObstacleDistance-obstacleDistance": "m",
"SizeConfiguration-width": "mm",
"SizeConfiguration-height": "mm",
"SizeConfiguration-length": "mm",
- "WheelInformation-frontWheelRadius": "mm",
- "WheelInformation-rearWheelRadius": "mm",
- "WheelInformation-wheelTrack": "mm",
"Odometer-distanceTotal": "km",
- "Fluid-transmission": "%",
- "Fluid-brake": "%",
- "Fluid-washer": "%",
"BatteryStatus-voltage": "V",
"BatteryStatus-current": "A",
- "TirePressure-leftFront": "kpa",
- "TirePressure-rightFront": "kpa",
- "TirePressure-leftRear": "kpa",
- "TirePressure-rightRear": "kpa",
- "TireTemperature-leftFront": "C",
- "TireTemperature-rightFront": "C",
- "TireTemperature-leftRear": "C",
- "TireTemperature-rightRear": "C",
- "VehicleTopSpeedLimit-vehicleTopSpeedLimit": "kph",
"SteeringWheel-angle": "deg",
"ThrottlePosition-value": "%",
"EngineCoolant-level": "%",
"val3": "REAR"
}
},
- "VehicleType": {
- "type": {
- "val0": "SEDAN",
- "val1": "COUPE",
- "val2": "CABRIOLE",
- "val3": "ROADSTER",
- "val4": "SUV",
- "val5": "TRUCK"
- }
- },
"TransmissionConfiguration": {
"transmissionGearType": {
"val0": "AUTO",
};
/*
- * TripMeters
- */
-_t.TripMeter = {
- tripMeters: [_t.unsigned_long]
-};
-
-/*
* Acceleration
*/
_t.Acceleration = {
*/
_t.CruiseControlStatus = {
activated: _t.boolean,
- speed: _t.unsigned_short
-};
-/*
- * WheelBrake
- */
-_t.WheelBrake = {
- engaged: _t.boolean
+ speed: _t.unsigned_short
};
/*
* LightStatus
*/
_t.LightStatus = {
- head: _t.boolean,
- rightTurn: _t.boolean,
- leftTurn: _t.boolean,
- brake: _t.boolean,
- fog: _t.boolean,
- hazard: _t.boolean,
- parking: _t.boolean,
- highBeam: _t.boolean,
+ head: _t.boolean,
+ rightTurn: _t.boolean,
+ leftTurn: _t.boolean,
+ brake: _t.boolean,
+ fog: _t.boolean,
+ hazard: _t.boolean,
+ parking: _t.boolean,
+ highBeam: _t.boolean,
automaticHeadlights: _t.boolean,
- dynamicHighBeam: _t.boolean,
- zone: _t.unsigned_short
+ dynamicHighBeam: _t.boolean,
+ zone: _t.unsigned_short
};
/*
*/
_t.InteriorLightStatus = {
passenger: _t.boolean,
- driver: _t.boolean,
- center: _t.boolean
+ driver: _t.boolean,
+ center: _t.boolean
};
/*
* Fuel
*/
_t.Fuel = {
- level: _t.unsigned_short,
- range: _t.unsigned_long,
- instantConsumption: _t.unsigned_long,
- averageConsumption: _t.unsigned_long,
+ level: _t.unsigned_short,
+ range: _t.unsigned_long,
+ instantConsumption: _t.unsigned_long,
+ averageConsumption: _t.unsigned_long,
fuelConsumedSinceRestart: _t.unsigned_long,
- vehicleTimeSinceRestart: _t.unsigned_long
+ vehicleTimeSinceRestart: _t.unsigned_long
};
/*
* EngineOil
*/
_t.EngineOil = {
- remaining: _t.unsigned_short,
+ remaining: _t.unsigned_short,
temperature: _t.long,
- pressure: _t.unsigned_short
-};
-
-/*
- * Location
- */
-_t.Location = {
- latitude: _t.double,
- longitude: _t.double,
- altitude: _t.double,
- direction: _t.unsigned_short
-};
-
-/*
- * ExteriorBrightness
- */
-_t.ExteriorBrightness = {
- exteriorBrightness: _t.unsigned_long
+ pressure: _t.unsigned_short
};
/*
};
/*
- * WindshieldWiper
- */
-_t.WindshieldWiper = {
- windshieldWiper: _t.unsigned_short
-};
-
-/*
- * DefrostDictionary
- */
-_t.DefrostDictionary = {
- window: _t.unsigned_short,
- defrost: _t.boolean,
-
- _dictionary: true
-};
-
-/*
- * WindowStatus
- */
-_t.WindowStatus = {
- openness: _t.unsigned_short,
- defrost: _t.boolean
-};
-
-/*
* Sunroof
*/
_t.Sunroof = {
};
/*
- * VehicleType
- */
-_t.VehicleType = {
- type: _t.unsigned_short
-};
-
-/*
- * Doors
- */
-_t.Doors = {
- doorsPerRow: [_t.unsigned_short]
-};
-
-/*
* TransmissionConfiguration
*/
_t.TransmissionConfiguration = {
};
/*
- * WheelInformation
- */
-_t.WheelInformation = {
- frontWheelRadius: _t.unsigned_short,
- rearWheelRadius: _t.unsigned_short,
- wheelTrack: _t.unsigned_long,
- ABS: _t.boolean
-};
-
-/*
* Odometer
*/
_t.Odometer = {
distanceSinceStart: _t.unsigned_long,
- distanceTotal: _t.unsigned_long
-};
-
-/*
- * Fluid
- */
-_t.Fluid = {
- transmission: _t.unsigned_short,
- brake: _t.unsigned_short,
- washer: _t.unsigned_short
-};
-
-/*
- * TirePressure
- */
-_t.TirePressure = {
- leftFront: _t.double,
- rightFront: _t.double,
- leftRear: _t.double,
- rightRear: _t.double
-};
-
-/*
- * TireTemperature
- */
-_t.TireTemperature = {
- leftFront: _t.double,
- rightFront: _t.double,
- leftRear: _t.double,
- rightRear: _t.double
-};
-
-/*
- * SecurityAlert
- */
-_t.SecurityAlert = {
- securityAlert: _t.boolean
+ distanceTotal: _t.unsigned_long
};
/*
};
/*
- * ParkingLight
- */
-_t.ParkingLight = {
- parkingLight: _t.boolean
-};
-
-/*
- * HazardLight
- */
-_t.HazardLight = {
- hazardLight: _t.boolean
-};
-
-/*
* AntilockBrakingSystem
*/
_t.AntilockBrakingSystem = {
};
/*
- * VehicleTopSpeedLimit
- */
-_t.VehicleTopSpeedLimit = {
- vehicleTopSpeedLimit: _t.unsigned_short
-};
-
-/*
* AirbagStatus
*/
_t.AirbagStatus = {
};
/*
- * DoorStatus
- */
-_t.DoorStatus = {
- doorStatus: _t.unsigned_short,
- doorLockStatus: _t.boolean,
- childLockStatus: _t.boolean
-};
-
-/*
- * SeatBeltStatus
- */
-_t.SeatBeltStatus = {
- seatBeltStatus: _t.boolean
-};
-
-/*
- * OccupantStatus
- */
-_t.OccupantStatus = {
- occupantStatus: _t.unsigned_short
-};
-
-/*
- * ObstacleDistance
- */
-_t.ObstacleDistance = {
- obstacleDistance: _t.double
-};
-
-/*
* NightMode
*/
_t.NightMode = {
};
/*
- * TurnSignal
- */
-_t.TurnSignal = {
- turnSignal: _t.unsigned_short
-};
-
-/*
* ButtonEvent
*/
_t.ButtonEvent = {
* EngineCoolant
*/
_t.EngineCoolant = {
- level: _t.unsigned_short,
+ level: _t.unsigned_short,
temperature: _t.unsigned_short
};
*/
_t.Tire = {
pressureLow: _t.boolean,
- pressure: _t.unsigned_short,
+ pressure: _t.unsigned_short,
temperature: _t.short,
- zone: _t.unsigned_short
+ zone: _t.unsigned_short
};
/*
*/
_t.Door = {
status: _t.DoorOpenStatus,
- lock: _t.boolean,
- zone: _t.unsigned_short
+ lock: _t.boolean,
+ zone: _t.unsigned_short
};
/*
* Defrost
*/
_t.Defrost = {
- defrostWindow: _t.boolean,
+ defrostWindow: _t.boolean,
defrostMirrors: _t.boolean,
- zone: _t.unsigned_short
+ zone: _t.unsigned_short
};
/*
* ClimateControl
*/
_t.ClimateControl = {
- airflowDirection: _t.AirflowDirection,
- fanSpeedLevel: _t.byte,
- targetTemperature: _t.byte,
- airConditioning: _t.boolean,
- heater: _t.boolean,
- seatHeater: _t.byte,
- seatCooler: _t.byte,
- airRecirculation: _t.boolean,
+ airflowDirection: _t.AirflowDirection,
+ fanSpeedLevel: _t.byte,
+ targetTemperature: _t.byte,
+ airConditioning: _t.boolean,
+ heater: _t.boolean,
+ seatHeater: _t.byte,
+ seatCooler: _t.byte,
+ airRecirculation: _t.boolean,
steeringWheelHeater: _t.byte,
- zone: _t.unsigned_short
+ zone: _t.unsigned_short
};
/*
*/
_t.BatteryStatus = {
chargeLevel: _t.unsigned_short,
- voltage: _t.unsigned_short,
- current: _t.unsigned_short,
- zone: _t.unsigned_short
+ voltage: _t.unsigned_short,
+ current: _t.unsigned_short,
+ zone: _t.unsigned_short
};
/*
_t.VehicleCommonDataType = {
timeStamp: _t.unsigned_long_long,
- _derived: [_t.VehicleSpeed, _t.WheelSpeed, _t.EngineSpeed, _t.VehiclePowerModeType,
- _t.TripMeter, _t.Acceleration, _t.Transmission,
- _t.CruiseControlStatus, _t.WheelBrake, _t.LightStatus,
- _t.InteriorLightStatus, _t.Horn, _t.Fuel, _t.EngineOil, _t.Location,
- _t.ExteriorBrightness, _t.Temperature, _t.RainSensor,
- _t.WindshieldWiper, _t.WindowStatus, _t.Sunroof,
- _t.ConvertibleRoof, _t.Identification, _t.SizeConfiguration, _t.FuelConfiguration, _t.VehicleType,
- _t.Doors, _t.TransmissionConfiguration, _t.WheelInformation, _t.Odometer,
- _t.Fluid, _t.TirePressure, _t.TireTemperature,
- _t.SecurityAlert, _t.ParkingBrake, _t.ParkingLight, _t.HazardLight,
- _t.AntilockBrakingSystem, _t.TractionControlSystem,
- _t.VehicleTopSpeedLimit, _t.AirbagStatus, _t.DoorStatus,
- _t.SeatBeltStatus, _t.OccupantStatus, _t.ObstacleDistance,
- _t.NightMode, _t.TurnSignal, _t.ButtonEvent, _t.SteeringWheel,
+ _derived: [_t.VehicleSpeed, _t.WheelSpeed, _t.EngineSpeed,
+ _t.VehiclePowerModeType, _t.Acceleration, _t.Transmission,
+ _t.CruiseControlStatus, _t.LightStatus, _t.InteriorLightStatus, _t.Horn,
+ _t.Fuel, _t.EngineOil, _t.Temperature, _t.RainSensor, _t.Sunroof,
+ _t.ConvertibleRoof, _t.Identification, _t.SizeConfiguration,
+ _t.FuelConfiguration, _t.TransmissionConfiguration, _t.Odometer,
+ _t.ParkingBrake, _t.AntilockBrakingSystem, _t.TractionControlSystem,
+ _t.AirbagStatus, _t.NightMode, _t.ButtonEvent, _t.SteeringWheel,
_t.ThrottlePosition, _t.EngineCoolant, _t.BrakeOperation, _t.Tire,
_t.Door, _t.Defrost, _t.ClimateControl, _t.BatteryStatus]
};
// Vehicle
_i.Vehicle.get = {
- 0: _t.DOMString,
- 1: _t.short,
+ 0: _t.short,
_optional: {
// nullable
}
};
-_i.Vehicle.supported = {
- 0: _t.DOMString
-};
-
-
_i.Vehicle.subscribe = {
- 0: _t.DOMString,
- 1: _t.VehiclePropertyCallback,
- 2: _t.short,
+ 0: _t.VehiclePropertyCallback,
+ 1: _t.short,
_optional: {
// nullable
- 2: true
+ 1: true
}
};
_i.Vehicle.unsubscribe = {
- 0: _t.DOMString,
- 1: _t.unsigned_short,
+ 0: _t.unsigned_short,
};
_i.Vehicle.set = {
- 0: _t.DOMString,
- 1: _t.VehiclePropertyType,
- 2: _t.short,
+ 0: _t.VehicleCommonDataType,
+ 1: _t.short,
_optional: {
// nullable
- 2: true
+ 1: true
}
};
_i.Vehicle.getHistory = {
- 0: _t.DOMString,
+ 0: _t.Date,
1: _t.Date,
- 2: _t.Date,
- 3: _t.short,
+ 2: _t.short,
_optional: {
// nullable
- 3: true
+ 2: true
}
};
t = require('ripple/platform/ivi/3.0/typecast'),
errorcode = require('ripple/platform/ivi/3.0/errorcode'),
WebAPIError = require('ripple/platform/ivi/3.0/WebAPIError'),
- TripMeter, //no
- WheelBrake, //no
- Location, //no
- ExteriorBrightness, //no
- WindshieldWiper, //no
- WindowStatus, //no
- VehicleType, //no
- Doors, //no
- WheelInformation, //no
- Fluid, //no
- TirePressure, //no
- TireTemperature, //no
- SecurityAlert, //no
- ParkingLight, //no
- HazardLight, //no
- VehicleTopSpeedLimit, //no
- DoorStatus, //no
- SeatBeltStatus, //no
- OccupantStatus, //no
- ObstacleDistance, //no
- TurnSignal, //no
- //New Spec
- Zone,
VehicleCommonDataType,
//Configuration and Identification Interfaces
Identification,
_data = {
nHandle: 0, //subscribe listener flag
supported: null, //current supported properties
- history: [], //all properties data
+ history: null, //all properties data
cache: null, //current all properties data
+ properties: {} //properties name
},
- _VEHICLE_PROPERTIES = ["VehicleSpeed", "EngineSpeed", "VehiclePowerModeType",
- "TripMeter", "Acceleration", "Transmission", "CruiseControlStatus",
- "WheelBrake", "LightStatus", "InteriorLightStatus", "Horn", "Fuel",
- "EngineOil", "Location", "ExteriorBrightness", "Temperature",
- "RainSensor", "WindshieldWiper", "WindowStatus", "Sunroof",
- "ConvertibleRoof", "VehicleType",
- "Doors", "WheelInformation", "Odometer",
- "Fluid", "TirePressure", "TireTemperature", "SecurityAlert",
- "ParkingBrake", "ParkingLight", "HazardLight", "AntilockBrakingSystem",
- "TractionControlSystem", "VehicleTopSpeedLimit", "AirbagStatus",
- "DoorStatus", "SeatBeltStatus", "OccupantStatus", "ObstacleDistance",
- "NightMode", "DrivingMode", "TurnSignal", "ButtonEvent", "WheelTick",
- "WheelSpeed", "SteeringWheel", "ThrottlePosition", "EngineCoolant",
- "Identification", "SizeConfiguration", "FuelConfiguration",
- "TransmissionConfiguration", "WheelConfiguration",
- "SteeringWheelConfiguration", "PowerTrainTorque",
- "AcceleratorPedalPosition", "Diagnostic", "Chime", "IgnitionTime",
- "YawRate", "BrakeOperation", "Tire", "Door", "Defrost",
- "ClimateControl", "BatteryStatus"],
_security = {
"http://tizen.org/privilege/vehicle": []
},
_self;
function _initialize () {
- _data.history.length = 0;
+ _data.properties.common = ["diagnostic"];
+ _data.properties.conf = [
+ "identification", "sizeConfiguration", "fuelConfiguration",
+ "transmissionConfiguration", "wheelConfiguration",
+ "steeringWheelConfiguration"
+ ];
+ _data.properties.signal = [
+ "vehicleSpeed", "wheelSpeed", "engineSpeed", "powerTrainTorque",
+ "acceleratorPedalPosition", "throttlePosition", "tripMeters",
+ "diagnostic", "transmission", "cruiseControlStatus", "lightStatus",
+ "interiorLightStatus", "chime", "fuel", "engineOil", "acceleration",
+ "engineCoolant", "steeringWheel", "ignitionTime", "yawRate",
+ "brakeOperation", "wheelTick", "buttonEvent", "drivingMode",
+ "nightMode", "odometer", "transmissionOil", "transmissionClutch",
+ "brakeMaintenance", "washerFluid", "malfunctionIndicator",
+ "batteryStatus", "tire", "driverIdentification",
+ "languageConfiguration", "unitsOfMeasure", "mirror", "steeringWheel",
+ "driveMode", "seatAdjustment", "dashboardIllumination", "vehicleSound",
+ "antilockBrakingSystem", "tractionControlSystem",
+ "electronicStabilityControl", "topSpeedLimit", "airbagStatus", "door",
+ "childSafetyLock", "seat", "temperature", "rainSensor", "wiperStatus",
+ "wiperSetting", "defrost", "sunroof", "convertibleRoof", "sideWindow",
+ "climateControl", "atmosphericPressure", "laneDepartureStatus", "alarm",
+ "parkingBrake", "parkingLights"
+ ];
+
event.on("vehicle-cache-refresh", function (supported, data) {
_data.supported = supported;
_data.cache = data;
- _data.history.push(data);
});
event.trigger("vehicle-cache-request", [_data]);
}
});
-_self = function () {
- var vehicle;
-
- function _subscribe(property, success, zone) {
- var handle = ++_data.nHandle,
- key = "subscribe" + handle;
+event.on("vehicle-history-response", function(history) {
+ _data.history = history;
+});
- zone = zone ? zone : 0;
- t.Vehicle("subscribe", arguments);
+function VehicleInterface (property) {
+ function _supported() {
+ t.Vehicle("supported", arguments);
- if (!_data[property]) {
- _data[property] = {};
+ if (_data.supported.indexOf(property) === -1) {
+ return false;
}
- _data[property][key] = success;
+ return true;
+ }
- // Need complete
- event.trigger("vehicle-subscribe-request", [property, true, zone]);
+ function _getFrom() {
+ var history = _data.history;
- return handle;
+ for (var i = 0; i < history.length; i++) {
+ if (history[i][property]) {
+ return history[i][property].timeStamp;
+ }
+ }
+ return null;
}
- function _unsubscribe(property, handle) {
- var key = "subscribe" + handle;
+ function _getTo() {
+ var history = _data.history;
- t.Vehicle("unsubscribe", arguments);
+ for (var i = history.length - 1; i >= 0; i--) {
+ if (history[i][property]) {
+ return history[i][property].timeStamp;
+ }
+ }
+ return null;
+ }
- if (_data[property] && _data[property][key])
- delete _data[property][key];
+ this.__defineGetter__("supported", function () {
+ return _supported(property);
+ });
- return;
- }
+ this.__defineGetter__("zones", function () {
+ return null;
+ });
- function _get(property, zone) {
+ this.__defineGetter__("isLogged", function () {
+ return true;
+ });
+
+ this.__defineGetter__("from", function () {
+ return new Date(_getFrom());
+ });
+
+ this.__defineGetter__("to", function () {
+ return new Date(_getTo());
+ });
+
+ this.get = function (zone) {
zone = zone ? zone : 0;
t.Vehicle("get", arguments);
- if (_data.supported.indexOf(property) === -1) {
- return;
- }
-
return {
- then: function (resolve) {
- var data = new VehicleFactory(property,
- _data.cache[property]);
+ then: function (resolve, reject) {
+ var data;
+
+ if (_data.supported.indexOf(property) === -1) {
+ reject(new WebAPIError(errorcode.PROPERTY_UNAVAILABLE));
+ return;
+ }
+
+ data = new VehicleFactory(property, _data.cache[property]);
resolve(data);
}
};
- }
+ };
- function _getHistory(property, begin, end, zone) {
+ this.getHistory = function (begin, end, zone) {
zone = zone ? zone : 0;
t.Vehicle("getHistory", arguments);
- if (_data.supported.indexOf(property) === -1) {
- return;
- }
-
- begin = begin.getTime();
- end = end.getTime();
-
return {
then: function (resolve) {
- var data = [], i, time;
-
- for ( i = 0; i < _data.history.length; i++) {
- if (_data.history[i][property]) {
- time = _data.history[i][property].time;
- if (time >= begin && time <= end) {
- data.push(new VehicleFactory(property,
- _data.history[i][property]));
+ var history = _data.history,
+ data = [],
+ i, val, timeStamp;
+
+ if (!begin || !end) {
+ resolve(data);
+ return;
+ }
+ begin = begin.getTime();
+ end = end.getTime();
+
+ for ( i = 0; i < history.length; i++) {
+ val = history[i][property];
+
+ if (val) {
+ timeStamp = val.timeStamp;
+ if (timeStamp < begin || timeStamp > end) {
+ continue;
}
+
+ data.push(new VehicleFactory(property, val));
}
}
+
resolve(data);
}
};
- }
+ };
- function _set(property, value, zone) {
- var val = utils.copy(value);
+ this.availableForRetrieval = function (attr) {
+ if (_data.supported.indexOf(property) === -1) {
+ return "not_supported";
+ }
+ return "available";
+ };
+ this.availabilityChangedListener = function (callback) {
+ return 0;
+ };
+
+ this.removeAvailabilityChangedListener = function (handle) {
+ return;
+ };
+}
+
+function VehicleConfigurationInterface (property) {
+ VehicleInterface.call(this, property);
+}
+
+function VehicleSignalInterface (property) {
+ VehicleInterface.call(this, property);
+
+ this.set = function (value, zone) {
zone = zone ? zone : 0;
t.Vehicle("set", arguments);
- if (_data.supported.indexOf(property) === -1) {
- return;
- }
-
return {
then: function (resolve, reject) {
- event.once("vehicle-set-response", function (status) {
- if (!status) {
- reject(new WebAPIError(
- errorcode.PROPERTY_UNAVAILABLE));
- return;
- }
- resolve();
- });
+ var val = utils.copy(value);
+
+ if (_data.supported.indexOf(property) === -1) {
+ reject(new WebAPIError(errorcode.PROPERTY_UNAVAILABLE));
+ return;
+ }
+ resolve();
event.trigger("vehicle-set-request", [property, val]);
}
};
- }
+ };
- function _supported(property) {
- t.Vehicle("supported", arguments);
+ this.subscribe = function (success, zone) {
+ var handle = ++_data.nHandle,
+ key = "subscribe" + handle;
+
+ zone = zone ? zone : 0;
+ t.Vehicle("subscribe", arguments);
+
+ if (!_data[property]) {
+ _data[property] = {};
+ }
+
+ _data[property][key] = success;
+
+ event.trigger("vehicle-subscribe-request", [property, true, zone]);
+
+ return handle;
+ };
+
+ this.unsubscribe = function (handle) {
+ var key = "subscribe" + handle;
+ t.Vehicle("unsubscribe", arguments);
+
+ if (_data[property] && _data[property][key])
+ delete _data[property][key];
+
+ return;
+ };
+
+ this.availableForSubscription = function (attr) {
if (_data.supported.indexOf(property) === -1) {
- return false;
+ return "not_supported";
}
+ return "available";
+ };
- return true;
- }
+ this.availableForSetting = function (attr) {
+ if (_data.supported.indexOf(property) === -1) {
+ return "not_supported";
+ }
+ return "available";
+ };
+}
- function _buildPropertiesAPIs() {
+_self = function () {
+ var vehicle;
+
+ function _defineInterfaces() {
var i, propertyName, propertyKey;
- for (i = 0; i < _VEHICLE_PROPERTIES.length; i++) {
- propertyName = _VEHICLE_PROPERTIES[i];
- propertyKey = propertyName.substring(0, 1).toLowerCase() +
- propertyName.substring(1);
- // Initialize
+ for (i = 0; i < _data.properties.common.length; i++) {
+ propertyKey = _data.properties.common[i];
+ propertyName = propertyKey.substring(0, 1).toUpperCase() +
+ propertyKey.substring(1);
+
vehicle[propertyKey] = {};
(function(property){
- // No complete
- vehicle[propertyKey].zones = [];
- vehicle[propertyKey].isLogged = true;
- vehicle[propertyKey].from = null;
- vehicle[propertyKey].to = null;
-
- // function
- vehicle[propertyKey].subscribe = function (success, zone) {
- return _subscribe(property, success, zone);
- };
- vehicle[propertyKey].unsubscribe = function (handle) {
- return _unsubscribe(property, handle);
- };
- vehicle[propertyKey].get = function () {
- return _get(property);
- };
- vehicle[propertyKey].getHistory = function (begin, end, zone) {
- return _getHistory(property, begin, end, zone);
- };
- vehicle[propertyKey].set = function (obj, zone) {
- return _set(property, obj, zone);
- };
- vehicle[propertyKey].supported = function () {
- return _supported(property);
- };
- // No complete
- vehicle[propertyKey].availabilityChangedListener = function (fun) {
- return 0;
- };
- vehicle[propertyKey].availableForRetrieval = function (attr) {
- return null;
- };
- vehicle[propertyKey].removeAvailabilityChangedListener = function (handle) {
- return;
- };
- vehicle[propertyKey].availableForSubscription = function (attr) {
- return;
- };
- vehicle[propertyKey].availableForSetting = function (attr) {
- return;
- };
+ vehicle[propertyKey] = new VehicleInterface(property);
+ })(propertyName);
+ }
+
+ for (i = 0; i < _data.properties.conf.length; i++) {
+ propertyKey = _data.properties.conf[i];
+ propertyName = propertyKey.substring(0, 1).toUpperCase() +
+ propertyKey.substring(1);
+
+ vehicle[propertyKey] = {};
+ (function(property){
+ vehicle[propertyKey] = new VehicleConfigurationInterface(property);
+ })(propertyName);
+ }
+
+ for (i = 0; i < _data.properties.signal.length; i++) {
+ propertyKey = _data.properties.signal[i];
+ propertyName = propertyKey.substring(0, 1).toUpperCase() +
+ propertyKey.substring(1);
+
+ vehicle[propertyKey] = {};
+ (function(property){
+ vehicle[propertyKey] = new VehicleSignalInterface(property);
})(propertyName);
}
}
vehicle = {
handleSubFeatures: handleSubFeatures
};
- _buildPropertiesAPIs();
+ _defineInterfaces();
return vehicle;
};
var instanceType;
switch (vehicleType) {
- case "TripMeter":
- instanceType = new TripMeter(value);
- break;
- case "WheelBrake":
- instanceType = new WheelBrake(value);
- break;
- case "Location":
- instanceType = new Location(value);
- break;
- case "ExteriorBrightness":
- instanceType = new ExteriorBrightness(value);
- break;
- case "WindshieldWiper":
- instanceType = new WindshieldWiper(value);
- break;
- case "WindowStatus":
- instanceType = new WindowStatus(value);
- break;
- case "ConvertibleRoof":
- instanceType = new ConvertibleRoof(value);
- break;
- case "VehicleType":
- instanceType = new VehicleType(value);
- break;
- case "Doors":
- instanceType = new Doors(value);
- break;
- case "WheelInformation":
- instanceType = new WheelInformation(value);
- break;
- case "Fluid":
- instanceType = new Fluid(value);
- break;
- case "TirePressure":
- instanceType = new TirePressure(value);
- break;
- case "TireTemperature":
- instanceType = new TireTemperature(value);
- break;
- case "SecurityAlert":
- instanceType = new SecurityAlert(value);
- break;
- case "ParkingLight":
- instanceType = new ParkingLight(value);
- break;
- case "HazardLight":
- instanceType = new HazardLight(value);
- break;
- case "VehicleTopSpeedLimit":
- instanceType = new VehicleTopSpeedLimit(value);
- break;
- case "AirbagStatus":
- instanceType = new AirbagStatus(value);
- break;
- case "DoorStatus":
- instanceType = new DoorStatus(value);
- break;
- case "SeatBeltStatus":
- instanceType = new SeatBeltStatus(value);
- break;
- case "OccupantStatus":
- instanceType = new OccupantStatus(value);
- break;
- case "ObstacleDistance":
- instanceType = new ObstacleDistance(value);
- break;
- case "TurnSignal":
- instanceType = new TurnSignal(value);
- break;
//configuration
case "Identification":
instanceType = new Identification(value);
case "TractionControlSystem":
instanceType = new TractionControlSystem(value);
break;
+ case "AirbagStatus":
+ instanceType = new AirbagStatus(value);
+ break;
case "Door":
instanceType = new Door(value);
break;
case "Sunroof":
instanceType = new Sunroof(value);
break;
+ case "ConvertibleRoof":
+ instanceType = new ConvertibleRoof(value);
+ break;
//
case "ParkingBrake":
instanceType = new ParkingBrake(value);
});
};
-TripMeter = function (propertyTypes) {
- var tripMeter = {};
-
- VehicleCommonDataType.call(this, propertyTypes);
-
- tripMeter.tripMeters = propertyTypes.tripMeters || [];
-
- this.__defineGetter__("tripMeters", function () {
- return tripMeter.tripMeters;
- });
-
- this.__defineSetter__("tripMeters", function (val) {
- try {
- //Changing any items in the array will reset the item's value to '0';
- tripMeter.tripMeters = t.unsigned_long(val, "[]");
- }
- catch (err) {
- }
- });
-};
-
-WheelBrake = function (propertyTypes) {
- var wheelBrake = {};
-
- VehicleCommonDataType.call(this, propertyTypes);
-
- wheelBrake.engaged = propertyTypes.engaged || false;
-
- this.__defineGetter__("engaged", function () {
- return wheelBrake.engaged;
- });
-
- this.__defineSetter__("engaged", function (val) {
- try {
- wheelBrake.engaged = t.boolean(val);
- } catch (err) {
- }
- });
-};
-
Horn = function (propertyTypes) {
var horn = {};
});
};
-Location = function (propertyTypes) {
- var location = {};
-
- VehicleCommonDataType.call(this, propertyTypes);
-
- location.latitude = propertyTypes.latitude || 0;
- location.longitude = propertyTypes.longitude || 0;
- location.altitude = propertyTypes.altitude || 0;
- location.direction = propertyTypes.direction || 0;
-
- this.__defineGetter__("latitude", function () {
- return location.latitude;
- });
-
- this.__defineSetter__("latitude", function (val) {
- try {
- val = t.double(val);
- if (val >= -180 && val <= 180) {
- location.latitude = val;
- }
- } catch (err) {
- }
- });
-
- this.__defineGetter__("longitude", function () {
- return location.longitude;
- });
-
- this.__defineSetter__("longitude", function (val) {
- try {
- val = t.double(val);
- if (val >= -90 && val <= 90) {
- location.longitude = val;
- }
- } catch (err) {
- }
- });
-
- this.__defineGetter__("altitude", function () {
- return location.altitude;
- });
-
- this.__defineSetter__("altitude", function (val) {
- try {
- val = t.double(val);
- if (val >= 0) {
- location.altitude = val;
- }
- } catch (err) {
- }
- });
-
- this.__defineGetter__("direction", function () {
- return location.direction;
- });
-
- this.__defineSetter__("direction", function (val) {
- try {
- val = t.unsigned_short(val);
- if (val >= 0 && val < 360) {
- location.direction = val;
- }
- } catch (err) {
- }
- });
-};
-
-ExteriorBrightness = function (propertyTypes) {
- var eb = {};
-
- VehicleCommonDataType.call(this, propertyTypes);
-
- eb.exteriorBrightness = propertyTypes.exteriorBrightness || 0;
-
- this.__defineGetter__("exteriorBrightness", function () {
- return eb.exteriorBrightness;
- });
-
- this.__defineSetter__("exteriorBrightness", function (val) {
- try {
- eb.exteriorBrightness = t.unsigned_long(val);
- } catch (err) {
- }
- });
-};
-
RainSensor = function (propertyTypes) {
var rainSensor = {};
VehicleCommonDataType.call(this, propertyTypes);
rainSensor.rain = propertyTypes.rain || 0;
- rainSensor.zone = propertyTypes.zone || null;
+ rainSensor.zone = propertyTypes.zone || 0;
this.__defineGetter__("rain", function () {
return rainSensor.rain;
});
};
-WindshieldWiper = function (propertyTypes) {
- var windshieldWiper = {};
-
- VehicleCommonDataType.call(this, propertyTypes);
-
- windshieldWiper.windshieldWiper = propertyTypes.windshieldWiper || 0;
-
- this.__defineGetter__("WIPERSPEED_OFF", function () {
- return 0;
- });
-
- this.__defineGetter__("WIPERSPEED_SLOWEST", function () {
- return 1;
- });
-
- this.__defineGetter__("WIPERSPEED_FASTEST", function () {
- return 5;
- });
-
- this.__defineGetter__("WIPERSPEED_AUTO", function () {
- return 10;
- });
-
- this.__defineGetter__("windshieldWiper", function () {
- return windshieldWiper.windshieldWiper;
- });
-
- this.__defineSetter__("windshieldWiper", function (val) {
- try {
- val = t.unsigned_short(val);
- if (val === 0 || val === 1 || val === 5 || val === 10) {
- windshieldWiper.windshieldWiper = val;
- }
- } catch (err) {
- }
- });
-};
-
-WindowStatus = function (propertyTypes) {
- var windowStatus = {};
-
- VehicleCommonDataType.call(this, propertyTypes);
-
- windowStatus.openness = propertyTypes.openness || 0;
- windowStatus.defrost = propertyTypes.defrost || false;
-
- this.__defineGetter__("WINDOWLOCATION_DRIVER", function () {
- return 0;
- });
-
- this.__defineGetter__("WINDOWLOCATION_PASSENGER", function () {
- return 1;
- });
-
- this.__defineGetter__("WINDOWLOCATION_LEFTREAR", function () {
- return 2;
- });
-
- this.__defineGetter__("WINDOWLOCATION_RIGHTREAR", function () {
- return 3;
- });
-
- this.__defineGetter__("WINDOWLOCATION_REAR", function () {
- return 4;
- });
-
- this.__defineGetter__("openness", function () {
- return windowStatus.openness;
- });
-
- this.__defineSetter__("openness", function (val) {
- try {
- val = t.unsigned_short(val);
- if (val >= 0 && val <= 100) {
- windowStatus.openness = val;
- }
- } catch (err) {
- }
- });
-
- this.__defineGetter__("defrost", function () {
- return windowStatus.defrost;
- });
-
- this.__defineSetter__("defrost", function (val) {
- try {
- windowStatus.defrost = t.boolean(val);
- } catch (err) {
- }
- });
-};
-
Sunroof = function (propertyTypes) {
var sunroof = {};
sunroof.openness = propertyTypes.openness || 0;
sunroof.tilt = propertyTypes.tilt || 0;
- sunroof.zone = propertyTypes.zone || null;
+ sunroof.zone = propertyTypes.zone || 0;
this.__defineGetter__("openness", function () {
return sunroof.openness;
});
};
-VehicleType = function (propertyTypes) {
- var vehicleType = {};
-
- VehicleCommonDataType.call(this, propertyTypes);
-
- vehicleType.type = propertyTypes.type || 0;
-
- this.__defineGetter__("VEHICLETYPE_SEDAN", function () {
- return 0;
- });
-
- this.__defineGetter__("VEHICLETYPE_COUPE", function () {
- return 1;
- });
-
- this.__defineGetter__("VEHICLETYPE_CABRIOLE", function () {
- return 2;
- });
-
- this.__defineGetter__("VEHICLETYPE_ROADSTER", function () {
- return 3;
- });
-
- this.__defineGetter__("VEHICLETYPE_SUV", function () {
- return 4;
- });
-
- this.__defineGetter__("VEHICLETYPE_TRUCK", function () {
- return 5;
- });
-
- this.__defineGetter__("type", function () {
- return vehicleType.type;
- });
-
- this.__defineSetter__("type", function (val) {
- try {
- val = t.unsigned_short(val);
- if (val >= 0 && val <= 5) {
- vehicleType.type = val;
- }
- } catch (err) {
- }
- });
-};
-
-Doors = function (propertyTypes) {
- var doors = {};
-
- VehicleCommonDataType.call(this, propertyTypes);
-
- doors.doorsPerRow = propertyTypes.doorsPerRow || [];
-
- this.__defineGetter__("doorsPerRow", function () {
- return doors.doorsPerRow;
- });
-
- this.__defineSetter__("doorsPerRow", function (val) {
- try {
- doors.doorsPerRow = t.unsigned_short(val, "[]");
- } catch (err) {
- }
- });
-};
-
-WheelInformation = function (propertyTypes) {
- var wheelInfo = {};
-
- VehicleCommonDataType.call(this, propertyTypes);
-
- wheelInfo.frontWheelRadius = propertyTypes.frontWheelRadius || 0;
- wheelInfo.rearWheelRadius = propertyTypes.rearWheelRadius || 0;
- wheelInfo.wheelTrack = propertyTypes.wheelTrack || 0;
- wheelInfo.ABS = propertyTypes.ABS || false;
-
- this.__defineGetter__("frontWheelRadius", function () {
- return wheelInfo.frontWheelRadius;
- });
-
- this.__defineSetter__("frontWheelRadius", function (val) {
- try {
- wheelInfo.frontWheelRadius =t.unsigned_short(val);
- } catch (err) {
- }
- });
-
- this.__defineGetter__("rearWheelRadius", function () {
- return wheelInfo.rearWheelRadius;
- });
-
- this.__defineSetter__("rearWheelRadius", function (val) {
- try {
- wheelInfo.rearWheelRadius =t.unsigned_short(val);
- } catch (err) {
- }
- });
-
- this.__defineGetter__("wheelTrack", function () {
- return wheelInfo.wheelTrack;
- });
-
- this.__defineSetter__("wheelTrack", function (val) {
- try {
- wheelInfo.wheelTrack =t.unsigned_long(val);
- } catch (err) {
- }
- });
-
- this.__defineGetter__("ABS", function () {
- return wheelInfo.ABS;
- });
-
- this.__defineSetter__("ABS", function (val) {
- try {
- wheelInfo.ABS =t.boolean(val);
- } catch (err) {
- }
- });
-};
-
-Fluid = function (propertyTypes) {
- var fluid = {};
-
- VehicleCommonDataType.call(this, propertyTypes);
-
- fluid.transmission = propertyTypes.transmission || 0;
- fluid.brake = propertyTypes.brake || 0;
- fluid.washer = propertyTypes.washer || 0;
-
- this.__defineGetter__("transmission", function () {
- return fluid.transmission;
- });
-
- this.__defineSetter__("transmission", function (val) {
- try {
- val = t.unsigned_short(val);
- if (val >= 0 && val <= 100) {
- fluid.transmission = val;
- }
- } catch (err) {
- }
- });
-
- this.__defineGetter__("brake", function () {
- return fluid.brake;
- });
-
- this.__defineSetter__("brake", function (val) {
- try {
- val = t.unsigned_short(val);
- if (val >= 0 && val <= 100) {
- fluid.brake = val;
- }
- } catch (err) {
- }
- });
-
- this.__defineGetter__("washer", function () {
- return fluid.washer;
- });
-
- this.__defineSetter__("washer", function (val) {
- try {
- val = t.unsigned_short(val);
- if (val >= 0 && val <= 100) {
- fluid.washer = val;
- }
- } catch (err) {
- }
- });
-};
-
-TirePressure = function (propertyTypes) {
- var tirePressure = {};
-
- VehicleCommonDataType.call(this, propertyTypes);
-
- tirePressure.leftFront = propertyTypes.leftFront || 0;
- tirePressure.rightFront = propertyTypes.rightFront || 0;
- tirePressure.leftRear = propertyTypes.leftRear || 0;
- tirePressure.rightRear = propertyTypes.rightRear || 0;
-
- this.__defineGetter__("leftFront", function () {
- return tirePressure.leftFront;
- });
-
- this.__defineSetter__("leftFront", function (val) {
- try {
- tirePressure.leftFront = t.double(val);
- } catch (err) {
- }
- });
-
- this.__defineGetter__("rightFront", function () {
- return tirePressure.rightFront;
- });
-
- this.__defineSetter__("rightFront", function (val) {
- try {
- tirePressure.rightFront = t.double(val);
- } catch (err) {
- }
- });
-
- this.__defineGetter__("leftRear", function () {
- return tirePressure.leftRear;
- });
-
- this.__defineSetter__("leftRear", function (val) {
- try {
- tirePressure.leftRear = t.double(val);
- } catch (err) {
- }
- });
-
- this.__defineGetter__("rightRear", function () {
- return tirePressure.rightRear;
- });
-
- this.__defineSetter__("rightRear", function (val) {
- try {
- tirePressure.rightRear = t.double(val);
- } catch (err) {
- }
- });
-};
-
-TireTemperature = function (propertyTypes) {
- var tireTemperature = {};
-
- VehicleCommonDataType.call(this, propertyTypes);
-
- tireTemperature.leftFront = propertyTypes.leftFront || 0;
- tireTemperature.rightFront = propertyTypes.rightFront || 0;
- tireTemperature.leftRear = propertyTypes.leftRear || 0;
- tireTemperature.rightRear = propertyTypes.rightRear || 0;
-
- this.__defineGetter__("leftFront", function () {
- return tireTemperature.leftFront;
- });
-
- this.__defineSetter__("leftFront", function (val) {
- try {
- tireTemperature.leftFront = t.double(val);
- } catch (err) {
- }
- });
-
- this.__defineGetter__("rightFront", function () {
- return tireTemperature.rightFront;
- });
-
- this.__defineSetter__("rightFront", function (val) {
- try {
- tireTemperature.rightFront = t.double(val);
- } catch (err) {
- }
- });
-
- this.__defineGetter__("leftRear", function () {
- return tireTemperature.leftRear;
- });
-
- this.__defineSetter__("leftRear", function (val) {
- try {
- tireTemperature.leftRear = t.double(val);
- } catch (err) {
- }
- });
-
- this.__defineGetter__("rightRear", function () {
- return tireTemperature.rightRear;
- });
-
- this.__defineSetter__("rightRear", function (val) {
- try {
- tireTemperature.rightRear = t.double(val);
- } catch (err) {
- }
- });
-};
-
-SecurityAlert = function (propertyTypes) {
- var securityAlert = {};
-
- VehicleCommonDataType.call(this, propertyTypes);
-
- securityAlert.securityAlert = propertyTypes.securityAlert || false;
-
- this.__defineGetter__("securityAlert", function () {
- return securityAlert.securityAlert;
- });
-
- this.__defineSetter__("securityAlert", function (val) {
- try {
- securityAlert.securityAlert = t.boolean(val);
- } catch (err) {
- }
- });
-};
-
-ParkingLight = function (propertyTypes) {
- var parkingLight = {};
-
- VehicleCommonDataType.call(this, propertyTypes);
-
- parkingLight.parkingLight = propertyTypes.parkingLight || false;
-
- this.__defineGetter__("parkingLight", function () {
- return parkingLight.parkingLight;
- });
-
- this.__defineSetter__("parkingLight", function (val) {
- try {
- parkingLight.parkingLight = t.boolean(val);
- } catch (err) {
- }
- });
-};
-
-HazardLight = function (propertyTypes) {
- var hazardLight = {};
-
- VehicleCommonDataType.call(this, propertyTypes);
-
- hazardLight.hazardLight = propertyTypes.hazardLight || false;
-
- this.__defineGetter__("hazardLight", function () {
- return hazardLight.hazardLight;
- });
-
- this.__defineSetter__("hazardLight", function (val) {
- try {
- hazardLight.hazardLight = t.boolean(val);
- } catch (err) {
- }
- });
-};
-
-VehicleTopSpeedLimit = function (propertyTypes) {
- var vtl = {};
-
- VehicleCommonDataType.call(this, propertyTypes);
-
- vtl.vehicleTopSpeedLimit = propertyTypes.vehicleTopSpeedLimit || false;
-
- this.__defineGetter__("vehicleTopSpeedLimit", function () {
- return vtl.vehicleTopSpeedLimit;
- });
-
- this.__defineSetter__("vehicleTopSpeedLimit", function (val) {
- try {
- vtl.vehicleTopSpeedLimit = t.unsigned_short(val);
- } catch (err) {
- }
- });
-};
-
-DoorStatus = function (propertyTypes) {
- var doorStatus = {};
-
- VehicleCommonDataType.call(this, propertyTypes);
-
- doorStatus.doorStatus = propertyTypes.doorStatus || 0;
- doorStatus.doorLockStatus = propertyTypes.doorLockStatus || false;
- doorStatus.childLockStatus = propertyTypes.childLockStatus || false;
-
- this.__defineGetter__("DOORSTATUS_CLOSED", function () {
- return 0;
- });
-
- this.__defineGetter__("DOORSTATUS_OPEN", function () {
- return 1;
- });
-
- this.__defineGetter__("DOORSTATUS_AJAR", function () {
- return 2;
- });
-
- this.__defineGetter__("doorStatus", function () {
- return doorStatus.doorStatus;
- });
-
- this.__defineSetter__("doorStatus", function (val) {
- try {
- val = t.unsigned_short(val);
- if (val === 0 || val === 1 || val === 2) {
- doorStatus.doorStatus = val;
- }
- } catch (err) {
- }
- });
-
- this.__defineGetter__("doorLockStatus", function () {
- return doorStatus.doorLockStatus;
- });
-
- this.__defineSetter__("doorLockStatus", function (val) {
- try {
- doorStatus.doorLockStatus = t.boolean(val);
- } catch (err) {
- }
- });
-
- this.__defineGetter__("childLockStatus", function () {
- return doorStatus.childLockStatus;
- });
-
- this.__defineSetter__("childLockStatus", function (val) {
- try {
- doorStatus.childLockStatus = t.boolean(val);
- } catch (err) {
- }
- });
-};
-
-SeatBeltStatus = function (propertyTypes) {
- var seatBeltStatus = {};
-
- VehicleCommonDataType.call(this, propertyTypes);
-
- seatBeltStatus.seatBeltStatus = propertyTypes.seatBeltStatus || false;
-
- this.__defineGetter__("seatBeltStatus", function () {
- return seatBeltStatus.seatBeltStatus;
- });
-
- this.__defineSetter__("seatBeltStatus", function (val) {
- try {
- seatBeltStatus.seatBeltStatus = t.boolean(val);
- } catch (err) {
- }
- });
-};
-
-OccupantStatus = function (propertyTypes) {
- var occupantStatus = {};
-
- VehicleCommonDataType.call(this, propertyTypes);
-
- occupantStatus.occupantStatus = propertyTypes.occupantStatus || 0;
-
- this.__defineGetter__("OCCUPANTSTATUS_VACANT", function () {
- return 0;
- });
-
- this.__defineGetter__("OCCUPANTSTATUS_CHILD", function () {
- return 1;
- });
-
- this.__defineGetter__("OCCUPANTSTATUS_ADULT", function () {
- return 2;
- });
-
- this.__defineGetter__("occupantStatus", function () {
- return occupantStatus.occupantStatus;
- });
-
- this.__defineSetter__("occupantStatus", function (val) {
- try {
- val = t.unsigned_short(val);
- if (val === 0 || val === 1 || val === 2) {
- occupantStatus.occupantStatus = val;
- }
- } catch (err) {
- }
- });
-};
-
-ObstacleDistance = function (propertyTypes) {
- var obstacleDistance = {};
-
- VehicleCommonDataType.call(this, propertyTypes);
-
- obstacleDistance.obstacleDistance = propertyTypes.obstacleDistance || 0;
-
- this.__defineGetter__("DISTANCESENSORLOCATION_LEFTFRONT", function () {
- return 0;
- });
-
- this.__defineGetter__("DISTANCESENSORLOCATION_RIGHTFRONT", function () {
- return 1;
- });
-
- this.__defineGetter__("DISTANCESENSORLOCATION_LEFTREAR", function () {
- return 2;
- });
-
- this.__defineGetter__("DISTANCESENSORLOCATION_RIGHTREAR", function () {
- return 3;
- });
-
- this.__defineGetter__("DISTANCESENSORLOCATION_LEFTBLINDSPOT",
- function () {
- return 4;
- });
-
- this.__defineGetter__("DISTANCESENSORLOCATION_RIGHTBLINDSPOT",
- function () {
- return 5;
- });
-
- this.__defineGetter__("obstacleDistance", function () {
- return obstacleDistance.obstacleDistance;
- });
-
- this.__defineSetter__("obstacleDistance", function (val) {
- try {
- obstacleDistance.obstacleDistance = t.double(val);
- } catch (err) {
- }
- });
-};
-
-TurnSignal = function (propertyTypes) {
- var turnSignal = {};
-
- VehicleCommonDataType.call(this, propertyTypes);
-
- turnSignal.turnSignal = propertyTypes.turnSignal || 0;
-
- this.__defineGetter__("turnSignal", function () {
- return turnSignal.turnSignal;
- });
-
- this.__defineSetter__("turnSignal", function (val) {
- try {
- turnSignal.turnSignal = t.unsigned_short(val);
- } catch (err) {
- }
- });
-};
-
Identification = function (propertyTypes) {
var identification = {};
VehicleCommonDataType.call(this, propertyTypes);
wheelConfiguration.wheelRadius = propertyTypes.wheelRadius || null;
- wheelConfiguration.zone = propertyTypes.zone || null;
+ wheelConfiguration.zone = propertyTypes.zone || 0;
this.__defineGetter__("wheelRadius", function () {
return wheelConfiguration.wheelRadius;
VehicleCommonDataType.call(this, propertyTypes);
wheelSpeed.speed = propertyTypes.speed || 0;
- wheelSpeed.zone = propertyTypes.zone || null;
+ wheelSpeed.zone = propertyTypes.zone || 0;
this.__defineGetter__("speed", function () {
return wheelSpeed.speed;
lightStatus.highBeam = propertyTypes.highBeam || false;
lightStatus.automaticHeadlights = propertyTypes.automaticHeadlights || null;
lightStatus.dynamicHighBeam = propertyTypes.dynamicHighBeam || null;
- lightStatus.zone = propertyTypes.zone || null;
+ lightStatus.zone = propertyTypes.zone || 0;
this.__defineGetter__("head", function () {
return lightStatus.head;
VehicleCommonDataType.call(this, propertyTypes);
wheelTick.value = propertyTypes.value || 0;
- wheelTick.zone = propertyTypes.zone || null;
+ wheelTick.zone = propertyTypes.zone || 0;
this.__defineGetter__("value", function () {
return wheelTick.value;
VehicleCommonDataType.call(this, propertyTypes);
- batteryStatus.chargeLevel = batteryStatus.chargeLevel || null;
- batteryStatus.voltage = batteryStatus.voltage || null;
- batteryStatus.current = batteryStatus.current || null;
- batteryStatus.zone = batteryStatus.zone || null;
+ batteryStatus.chargeLevel = propertyTypes.chargeLevel || null;
+ batteryStatus.voltage = propertyTypes.voltage || null;
+ batteryStatus.current = propertyTypes.current || null;
+ batteryStatus.zone = propertyTypes.zone || 0;
this.__defineGetter__("chargeLevel", function () {
return batteryStatus.chargeLevel;
tire.pressureLow = propertyTypes.pressureLow || null;
tire.pressure = propertyTypes.pressure || null;
tire.temperature = propertyTypes.temperature || null;
- tire.zone = propertyTypes.zone || null;
+ tire.zone = propertyTypes.zone || 0;
this.__defineGetter__("pressureLow", function () {
return tire.pressureLow;
airbagStatus.activated = propertyTypes.activated || false;
airbagStatus.deployed = propertyTypes.deployed || false;
- airbagStatus.zone = propertyTypes.zone || null;
+ airbagStatus.zone = propertyTypes.zone || 0;
this.__defineGetter__("activated", function () {
return airbagStatus.activated;
door.status = propertyTypes.status || "closed";
door.lock = propertyTypes.lock || false;
- door.zone = propertyTypes.zone || null;
+ door.zone = propertyTypes.zone || 0;
this.__defineGetter__("status", function () {
return door.status;
defrost.defrostWindow = propertyTypes.defrostWindow || null;
defrost.defrostMirrors = propertyTypes.defrostMirrors || null;
- defrost.zone = propertyTypes.zone || null;
+ defrost.zone = propertyTypes.zone || 0;
this.__defineGetter__("defrostWindow", function () {
return defrost.defrostWindow;
climateControl.airRecirculation = propertyTypes.airRecirculation || false;
climateControl.steeringWheelHeater = propertyTypes.steeringWheelHeater ||
null;
- climateControl.zone = propertyTypes.zone || null;
+ climateControl.zone = propertyTypes.zone || 0;
this.__defineGetter__("airflowDirection", function () {
return climateControl.airflowDirection;
//"phonegap": {"1.0.0": require('ripple/platform/phonegap/1.0.0/spec')},
"tizen": {"2.0": require('ripple/platform/tizen/2.0/spec')},
"ivi": {"3.0": require('ripple/platform/ivi/3.0/spec')},
- "wearable": {"2.0": require('ripple/platform/wearable/2.0/spec')},
+ //"wearable": {"2.0": require('ripple/platform/wearable/2.0/spec')},
+ //"tv": {"1.0": require('ripple/platform/tv/1.0/spec')},
//"cordova": {"2.0.0": require('ripple/platform/cordova/2.0.0/spec')},
//"webworks.bb10": {"1.0.0": require('ripple/platform/webworks.bb10/1.0.0/spec')},
//"webworks.handset": {"2.0.0": require('ripple/platform/webworks.handset/2.0.0/spec')},
module.exports = _self;
});
+define('ripple/platform/tv/1.0/WebAPIError', function (require, exports, module) {
+/*
+ * Copyright 2014 Intel Corporation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+var errorcode = require('ripple/platform/wearable/2.0/errorcode');
+
+var msg = {
+ 0: "Generic Error",
+ 1: "Index or size is negative, or greater than the allowed value.",
+ 2: "Specified range of text does not fit into a DOMString.",
+ 3: "Node is inserted somewhere it doesn't belong.",
+ 4: "Node is used in a different document than the one that created it (that doesn't support it).",
+ 5: "An invalid or illegal character is specified.",
+ 6: "Data is specified for a Node which does not support data.",
+ 7: "An attempt is made to modify an object where modifications are not allowed.",
+ 8: "An attempt is made to reference a Node in a context where it does not exist.",
+ 9: "The implementation does not support the requested type of object or operation.",
+ 10: "An attempt is made to add an attribute that is already in use elsewhere.",
+ 11: "An attempt is made to use an object that is not, or is no longer, usable.",
+ 12: "An invalid or illegal string is specified.",
+ 13: "An attempt is made to modify the type of the underlying object.",
+ 14: "An attempt is made to create or change an object in a way which is incorrect with regard to namespaces.",
+ 15: "A parameter or an operation is not supported by the underlying object.",
+ 16: "A call to a method such as insertBefore or removeChild would make the Node invalid with respect to \"partial validity\", this exception would be raised and the operation would not be done.",
+ 17: "The type of an object is incompatible with the expected type of the parameter associated to the object.",
+ 18: "An attempt is made to perform an operation or access some data in a way that would be a security risk or a violation of the user agent's security policy.",
+ 19: "A network error occurs in synchronous requests.",
+ 20: "The abort error occurs in asynchronous requests by user prompt.",
+ 21: "The operation could not be completed because the URL does not match.",
+ 22: "The quota has been exceeded.",
+ 23: "The operation timed out.",
+ 24: "The supplied node is incorrect or has an incorrect ancestor for this operation.",
+ 25: "The object can not be cloned.",
+ 99: "The content of an object does not include valid values.",
+ 100: "Error occurred in communication with the underlying implementation that meant the requested method could not complete.",
+ 111: "Requested service is not available.",
+ 112: "The authentication token of remote peer agent is not generated."
+ },
+ errType = {
+ 0: "UnknownError",
+ 1: "IndexSizeError",
+ 2: "DOMStringSizeError",
+ 3: "HierarchyRequestError",
+ 4: "WrongDocumentError",
+ 5: "InvalidCharacterError",
+ 6: "NoDataAllowedError",
+ 7: "NoModificationAllowedError",
+ 8: "NotFoundError",
+ 9: "NotSupportedError",
+ 10: "InuseAttributeError",
+ 11: "InvalidStateError",
+ 12: "SyntaxError",
+ 13: "InvalidModificationError",
+ 14: "NamespaceError",
+ 15: "InvalidAccessError",
+ 16: "ValidationError",
+ 17: "TypeMismatchError",
+ 18: "SecurityError",
+ 19: "NetworkError",
+ 20: "AbortError",
+ 21: "URLMismatchError",
+ 22: "QuotaExceededError",
+ 23: "TimeoutError",
+ 24: "InvalidNodeTypeError",
+ 25: "DataCloneError",
+ 99: "InvalidValuesError",
+ 100: "IOError",
+ 111: "ServiceNotAvailableError",
+ 112: "TokenNotGeneratedError"
+ };
+
+/*
+ support 3 types of error:
+ - WebAPIError()
+ code = errorcode.UNKNOWN_ERR
+ message = errorcode.message[UNKNOWN_ERR]
+ - WebAPIError(errorcode."TYPE_MISMATCH_ERR")
+ code = 17
+ message = errorcode.message[17]
+ - WebAPIError(my_own_error_code, "This is my error message.")
+ code = my_own_error_code(number)
+ message = "This is my error message."
+ */
+
+module.exports = function (code, message, name) {
+ var _code, _message, _name;
+
+ if (typeof code !== 'number') {
+ _code = errorcode.UNKNOWN_ERR;
+ _message = msg[_code];
+ _name = errType[_code];
+ } else {
+ _code = code;
+ if (typeof message === 'string') {
+ _message = message;
+ } else {
+ _message = msg[_code];
+ }
+ if (typeof name === 'string') {
+ _name = name;
+ } else {
+ _name = errType[_code];
+ }
+ }
+
+ this.__defineGetter__("code", function () {
+ return _code;
+ });
+ this.__defineGetter__("message", function () {
+ return _message;
+ });
+ this.__defineGetter__("name", function () {
+ return _name;
+ });
+};
+
+});
+define('ripple/platform/tv/1.0/WebAPIException', function (require, exports, module) {
+/*
+ * Copyright 2014 Intel Corporation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+var errorcode = require('ripple/platform/wearable/2.0/errorcode');
+
+var msg = {
+ 0: "Generic Error",
+ 1: "Index or size is negative, or greater than the allowed value.",
+ 2: "Specified range of text does not fit into a DOMString.",
+ 3: "Node is inserted somewhere it doesn't belong.",
+ 4: "Node is used in a different document than the one that created it (that doesn't support it).",
+ 5: "An invalid or illegal character is specified.",
+ 6: "Data is specified for a Node which does not support data.",
+ 7: "An attempt is made to modify an object where modifications are not allowed.",
+ 8: "An attempt is made to reference a Node in a context where it does not exist.",
+ 9: "The implementation does not support the requested type of object or operation.",
+ 10: "An attempt is made to add an attribute that is already in use elsewhere.",
+ 11: "An attempt is made to use an object that is not, or is no longer, usable.",
+ 12: "An invalid or illegal string is specified.",
+ 13: "An attempt is made to modify the type of the underlying object.",
+ 14: "An attempt is made to create or change an object in a way which is incorrect with regard to namespaces.",
+ 15: "A parameter or an operation is not supported by the underlying object.",
+ 16: "A call to a method such as insertBefore or removeChild would make the Node invalid with respect to \"partial validity\", this exception would be raised and the operation would not be done.",
+ 17: "The type of an object is incompatible with the expected type of the parameter associated to the object.",
+ 18: "An attempt is made to perform an operation or access some data in a way that would be a security risk or a violation of the user agent's security policy.",
+ 19: "A network error occurs in synchronous requests.",
+ 20: "The abort error occurs in asynchronous requests by user prompt.",
+ 21: "The operation could not be completed because the URL does not match.",
+ 22: "The quota has been exceeded.",
+ 23: "The operation timed out.",
+ 24: "The supplied node is incorrect or has an incorrect ancestor for this operation.",
+ 25: "The object can not be cloned.",
+ 99: "The content of an object does not include valid values.",
+ 100: "Error occurred in communication with the underlying implementation that meant the requested method could not complete.",
+ 111: "Requested service is not available.",
+ 112: "The authentication token of remote peer agent is not generated."
+ },
+ errType = {
+ 0: "UnknownError",
+ 1: "IndexSizeError",
+ 2: "DOMStringSizeError",
+ 3: "HierarchyRequestError",
+ 4: "WrongDocumentError",
+ 5: "InvalidCharacterError",
+ 6: "NoDataAllowedError",
+ 7: "NoModificationAllowedError",
+ 8: "NotFoundError",
+ 9: "NotSupportedError",
+ 10: "InuseAttributeError",
+ 11: "InvalidStateError",
+ 12: "SyntaxError",
+ 13: "InvalidModificationError",
+ 14: "NamespaceError",
+ 15: "InvalidAccessError",
+ 16: "ValidationError",
+ 17: "TypeMismatchError",
+ 18: "SecurityError",
+ 19: "NetworkError",
+ 20: "AbortError",
+ 21: "URLMismatchError",
+ 22: "QuotaExceededError",
+ 23: "TimeoutError",
+ 24: "InvalidNodeTypeError",
+ 25: "DataCloneError",
+ 99: "InvalidValuesError",
+ 100: "IOError",
+ 111: "ServiceNotAvailableError",
+ 112: "TokenNotGeneratedError"
+ };
+
+/*
+ support 3 types of error:
+ - WebAPIError()
+ code = errorcode.UNKNOWN_ERR
+ message = errorcode.message[UNKNOWN_ERR]
+ - WebAPIError(errorcode."TYPE_MISMATCH_ERR")
+ code = 17
+ message = errorcode.message[17]
+ - WebAPIError(my_own_error_code, "This is my error message.")
+ code = my_own_error_code(number)
+ message = "This is my error message."
+ */
+
+module.exports = function (code, message, name) {
+ var _code, _message, _name;
+
+ if (typeof code !== 'number') {
+ _code = errorcode.UNKNOWN_ERR;
+ _message = msg[_code];
+ _name = errType[_code];
+ } else {
+ _code = code;
+ if (typeof message === 'string') {
+ _message = message;
+ } else {
+ _message = msg[_code];
+ }
+ if (typeof name === 'string') {
+ _name = name;
+ } else {
+ _name = errType[_code];
+ }
+ }
+
+ this.__defineGetter__("code", function () {
+ return _code;
+ });
+ this.__defineGetter__("message", function () {
+ return _message;
+ });
+ this.__defineGetter__("name", function () {
+ return _name;
+ });
+};
+
+});
+define('ripple/platform/tv/1.0/dbinit', function (require, exports, module) {
+/*
+ * Copyright 2014 Intel Corporation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+var exception = require('ripple/exception'),
+ DBBuilder,
+ _data = {
+ dbBuilder: null
+ },
+ _self = {};
+
+function _initialize() {
+ _data.dbBuilder = new DBBuilder();
+}
+
+DBBuilder = function () {
+ var self;
+
+ // private
+ function formatString(str) {
+ return str.replace(/^\s+|[\t\n\r\v]+|\s+$/g, "").replace(/\s+/g, "");
+ }
+
+ // private
+ function formatHex(str) {
+ return str.replace(/,(0x[0-9a-fA-F]+?),/g, ',"$1",');
+ }
+
+ // public
+ function register(type, dbFile, Extension) {
+ _data[type] = Extension ? new Extension() : {};
+
+ if (!dbFile)
+ return;
+
+ _self.__defineGetter__(type, function () {
+ var fnInit;
+
+ if (!_data[type].db) {
+ fnInit = _data[type].initdb || initdb;
+ _data[type].db = fnInit(dbFile);
+ }
+
+ return _data[type].db;
+ });
+ }
+
+ function initdb(dbFile) {
+ var xmlHttp, res;
+
+ try {
+ xmlHttp = new XMLHttpRequest();
+ xmlHttp.open("GET", "dbsamples/" + dbFile, false);
+ xmlHttp.send();
+ } catch (e) {
+ exception.handle(e);
+ }
+
+ if (!xmlHttp.responseText) {
+ return null;
+ }
+
+ res = formatHex(formatString(xmlHttp.responseText));
+
+ return JSON.parse(res);
+ }
+
+ self = {
+ register: register,
+ initdb: initdb
+ };
+
+ return self;
+};
+
+_initialize();
+
+module.exports = _self;
+
+});
+define('ripple/platform/tv/1.0/errorcode', function (require, exports, module) {
+/*
+ * Copyright 2014 Intel Corporation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"),
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+var _self = {};
+
+_self.__defineGetter__("UNKNOWN_ERR", function () {
+ return 0;
+});
+
+_self.__defineGetter__("INDEX_SIZE_ERR", function () {
+ return 1;
+});
+
+_self.__defineGetter__("DOMSTRING_SIZE_ERR", function () {
+ return 2;
+});
+
+_self.__defineGetter__("HIERARCHY_REQUEST_ERR", function () {
+ return 3;
+});
+
+_self.__defineGetter__("WRONG_DOCUMENT_ERR", function () {
+ return 4;
+});
+
+_self.__defineGetter__("INVALID_CHARACTER_ERR", function () {
+ return 5;
+});
+
+_self.__defineGetter__("NO_DATA_ALLOWED_ERR", function () {
+ return 6;
+});
+
+_self.__defineGetter__("NO_MODIFICATION_ALLOWED_ERR", function () {
+ return 7;
+});
+
+_self.__defineGetter__("NOT_FOUND_ERR", function () {
+ return 8;
+});
+
+_self.__defineGetter__("NOT_SUPPORTED_ERR", function () {
+ return 9;
+});
+
+_self.__defineGetter__("INUSE_ATTRIBUTE_ERR", function () {
+ return 10;
+});
+
+_self.__defineGetter__("INVALID_STATE_ERR", function () {
+ return 11;
+});
+
+_self.__defineGetter__("SYNTAX_ERR", function () {
+ return 12;
+});
+
+_self.__defineGetter__("INVALID_MODIFICATION_ERR", function () {
+ return 13;
+});
+
+_self.__defineGetter__("NAMESPACE_ERR", function () {
+ return 14;
+});
+
+_self.__defineGetter__("INVALID_ACCESS_ERR", function () {
+ return 15;
+});
+
+_self.__defineGetter__("VALIDATION_ERR", function () {
+ return 16;
+});
+
+_self.__defineGetter__("TYPE_MISMATCH_ERR", function () {
+ return 17;
+});
+
+_self.__defineGetter__("SECURITY_ERR", function () {
+ return 18;
+});
+
+_self.__defineGetter__("NETWORK_ERR", function () {
+ return 19;
+});
+
+_self.__defineGetter__("ABORT_ERR", function () {
+ return 20;
+});
+
+_self.__defineGetter__("URL_MISMATCH_ERR", function () {
+ return 21;
+});
+
+_self.__defineGetter__("QUOTA_EXCEEDED_ERR", function () {
+ return 22;
+});
+
+_self.__defineGetter__("TIMEOUT_ERR", function () {
+ return 23;
+});
+
+_self.__defineGetter__("INVALID_NODE_TYPE_ERR", function () {
+ return 24;
+});
+
+_self.__defineGetter__("DATA_CLONE_ERR", function () {
+ return 25;
+});
+
+_self.__defineGetter__("INVALID_VALUES_ERR", function () {
+ return 99;
+});
+
+_self.__defineGetter__("IO_ERR", function () {
+ return 100;
+});
+
+_self.__defineGetter__("SERVICE_NOT_AVAILABLE_ERR", function () {
+ return 111;
+});
+
+_self.__defineGetter__("TOKEN_NOT_GENERATED_ERR", function () {
+ return 112;
+});
+
+module.exports = _self;
+
+
+});
+define('ripple/platform/tv/1.0/spec/config', function (require, exports, module) {
+/*
+ * Copyright 2014 Research In Motion Limited.
+ * Copyright 2014 Intel Corporation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+var utils = require('ripple/utils'),
+ db = require('ripple/db'),
+ constants = require('ripple/constants');
+
+module.exports = {
+ fileName: "config.xml",
+ validateVersion: function (configValidationObject) {
+ var valid = true;
+ // no xmlns:JIL in wac 2.0 spec
+ valid = !!configValidationObject.widget.validationResult[0].attributes.xmlns.valid;
+
+ return valid;
+ },
+ extractInfo: function (configValidationObject) {
+ if (!configValidationObject) {
+ return null;
+ }
+
+ var widgetInfo = {},
+ configFeatures,
+ configPreferences,
+ preferenceName,
+ platform, rst, i, j,
+ settingRst = {
+ 'screen-orientation': 'portrait',
+ 'context-menu': 'enable',
+ 'background-support': 'disable',
+ encryption: 'disable',
+ 'install-location': 'auto',
+ 'hwkey-event': 'enable'
+ };
+
+ widgetInfo.id = configValidationObject.widget.validationResult[0].attributes.id.value || "";
+ widgetInfo.name = configValidationObject.widget.children.name.validationResult[0].value;
+ widgetInfo.icon = configValidationObject.widget.children.icon.validationResult[0].attributes.src.value;
+ widgetInfo.version = configValidationObject.widget.validationResult[0].attributes.version.value;
+ if (configValidationObject.widget.children.application.validationResult[0].valid) {
+ widgetInfo.tizenAppId = configValidationObject.widget.children.application.validationResult[0].attributes.id.value;
+ widgetInfo.tizenPackageId = configValidationObject.widget.children.application.validationResult[0].attributes.package.value;
+ }
+
+ widgetInfo.features = {};
+
+ if (configValidationObject.widget.children.setting.hasOwnProperty('validationResult') === true) {
+ rst = configValidationObject.widget.children.setting.validationResult;
+ // the first one has higher priority per platform implementation
+ for (i = rst.length -1 ; i >= 0; i--) {
+ if (rst[i].valid === true) {
+ for (j in rst[i].attributes) {
+ if (rst[i].attributes[j].value !== undefined) {
+ settingRst[j] = rst[i].attributes[j].value;
+ }
+ }
+ }
+ }
+ db.save("layout", settingRst["screen-orientation"]);
+ }
+
+ configFeatures = configValidationObject.widget.children.feature.validationResult;
+ utils.forEach(configFeatures, function (f) {
+ if (f.valid === true) {
+ var feature = {id: f.attributes.name.value,
+ required: f.attributes.required.valid};
+ widgetInfo.features[feature.id] = feature;
+ }
+ });
+
+ widgetInfo.metadata = {};
+ if (configValidationObject.widget.children.metadata.hasOwnProperty('validationResult') === true) {
+ widgetInfo.metadata.key = configValidationObject.widget.children.metadata.validationResult[0].attributes.key.value;
+ widgetInfo.metadata.value = configValidationObject.widget.children.metadata.validationResult[0].attributes.value.value;
+ }
+
+ widgetInfo.category = {};
+ if (configValidationObject.widget.children.category.hasOwnProperty('validationResult') === true) {
+ widgetInfo.metadata.name = configValidationObject.widget.children.category.validationResult[0].attributes.name.value;
+ }
+
+ widgetInfo.preferences = {};
+
+ configPreferences = configValidationObject.widget.children.preference.validationResult;
+
+ platform = require('ripple/platform');
+ utils.forEach(configPreferences, function (preference) {
+ preferenceName = preference.attributes.name.value;
+ if (preferenceName) {
+ widgetInfo.preferences[preferenceName] = {
+ "key": preferenceName,
+ "value": preference.attributes.value.value || "",
+ "readonly": preference.attributes.readonly.value === "true"
+ };
+
+ db.save(preferenceName,
+ widgetInfo.preferences[preferenceName].value,
+ platform.getPersistencePrefix(widgetInfo.id));
+ }
+ });
+
+ return widgetInfo;
+ },
+ schema: {
+ rootElement: "widget",
+ widget: {
+ nodeName: "widget",
+ required: true,
+ occurrence: 1,
+ helpText: "\"widget\" element describes widget information in configuration documents and serves as a container for other elements. It must be used in the configuration document and may have the following child elments: name,description,icon,author,license,content,feature and preference.The \"widget\" element MAY have following attributes: id,version,height,width, defaultlocale, xml:lang and dir",
+ attributes: {
+ xmlns: {
+ attributeName: "xmlns",
+ required: true,
+ type: "list",
+ listValues: ["http://www.w3.org/ns/widgets"]
+ },
+ "xmlns:tizen": {
+ attributeName: "xmlns:tizen",
+ required: false,
+ type: "list",
+ listValues: ["http://tizen.org/ns/widgets"]
+ },
+ "xml:lang": {
+ attributeName: "xml:lang",
+ required: false,
+ type: "iso-language"
+ },
+ dir: {
+ attributeName: "dir",
+ required: false,
+ type: "list",
+ listValues: ["ltr", "rtl", "lro", "rlo"]
+ },
+ id: {
+ attributeName: "id",
+ required: false,
+ type: "string"
+ },
+ version: {
+ attributeName: "version",
+ required: false,
+ type: "string"
+ },
+ height: {
+ attributeName: "height",
+ required: false,
+ type: "integer"
+ },
+ width: {
+ attributeName: "width",
+ required: false,
+ type: "integer"
+ },
+ viewmodes: {
+ attributeName: "viewmodes",
+ required: false,
+ type: "list",
+ listValues: ["windowed", "floating", "fullscreen", "maximized", "minimized"]
+ },
+ defaultlocale: {
+ attributeName: "defaultlocale",
+ required: false,
+ type: "iso-language"
+ }
+ },
+ children: {
+ name: {
+ nodeName: "name",
+ required: false,
+ occurrence: 0,
+ type: "string",
+ attributes: {
+ "xml:lang": {
+ attributeName: "xml:lang",
+ required: false,
+ type: "iso-language",
+ unique: true
+ },
+ dir: {
+ attributeName: "dir",
+ required: false,
+ type: "list",
+ listValues: ["ltr", "rtl", "lro", "rlo"]
+ },
+ "short": {
+ attributeName: "short",
+ required: false,
+ type: "string"
+ }
+ },
+ children: {
+ span: {
+ nodeName: "span",
+ required: false,
+ type: "string",
+ attributes: {
+ "xml:lang": {
+ attributeName: "xml:lang",
+ required: false,
+ type: "iso-language",
+ unique: true
+ },
+ dir: {
+ attributeName: "dir",
+ required: false,
+ type: "list",
+ listValues: ["ltr", "rtl", "lro", "rlo"]
+ }
+ }
+ }
+ }
+ },
+ description: {
+ nodeName: "description",
+ required: false,
+ occurrence: 0,
+ type: "string",
+ attributes: {
+ "xml:lang": {
+ attributeName: "xml:lang",
+ required: false,
+ type: "iso-language",
+ unique: true
+ },
+ dir: {
+ attributeName: "dir",
+ required: false,
+ type: "list",
+ listValues: ["ltr", "rtl", "lro", "rlo"]
+ }
+ },
+ children: {
+ span: {
+ nodeName: "span",
+ required: false,
+ type: "string",
+ attributes: {
+ "xml:lang": {
+ attributeName: "xml:lang",
+ required: false,
+ type: "iso-language",
+ unique: true
+ },
+ dir: {
+ attributeName: "dir",
+ required: false,
+ type: "list",
+ listValues: ["ltr", "rtl", "lro", "rlo"]
+ }
+ }
+ }
+ }
+ },
+ author: {
+ nodeName: "author",
+ required: false,
+ occurrence: 0,
+ type: "string",
+ attributes: {
+ "xml:lang": {
+ attributeName: "xml:lang",
+ required: false,
+ type: "iso-language"
+ },
+ dir: {
+ attributeName: "dir",
+ required: false,
+ type: "list",
+ listValues: ["ltr", "rtl", "lro", "rlo"]
+ },
+ href: {
+ attributeName: "href",
+ required: false,
+ type: "regex",
+ regex: constants.REGEX.URL
+ },
+ email: {
+ attributeName: "email",
+ required: false,
+ type: "regex",
+ regex: constants.REGEX.EMAIL
+ }
+ },
+ children: {
+ span: {
+ nodeName: "span",
+ required: false,
+ type: "string",
+ attributes: {
+ "xml:lang": {
+ attributeName: "xml:lang",
+ required: false,
+ type: "iso-language",
+ unique: true
+ },
+ dir: {
+ attributeName: "dir",
+ required: false,
+ type: "list",
+ listValues: ["ltr", "rtl", "lro", "rlo"]
+ }
+ }
+ }
+ }
+ },
+ license: {
+ nodeName: "license",
+ required: false,
+ occurrence: 0,
+ type: "string",
+ attributes: {
+ "xml:lang": {
+ attributeName: "xml:lang",
+ required: false,
+ type: "iso-language"
+ },
+ dir: {
+ attributeName: "dir",
+ required: false,
+ type: "list",
+ listValues: ["ltr", "rtl", "lro", "rlo"]
+ },
+ href: {
+ attributeName: "href",
+ type: "regex",
+ required: false,
+ regex: constants.REGEX.URL
+ }
+ },
+ children: {
+ span: {
+ nodeName: "span",
+ required: false,
+ type: "string",
+ attributes: {
+ "xml:lang": {
+ attributeName: "xml:lang",
+ required: false,
+ type: "iso-language",
+ unique: true
+ },
+ dir: {
+ attributeName: "dir",
+ required: false,
+ type: "list",
+ listValues: ["ltr", "rtl", "lro", "rlo"]
+ }
+ }
+ }
+ }
+ },
+ icon: {
+ nodeName: "icon",
+ required: false,
+ occurrence: 0,
+ attributes: {
+ "xml:lang": {
+ attributeName: "xml:lang",
+ required: false,
+ type: "iso-language"
+ },
+ dir: {
+ attributeName: "dir",
+ required: false,
+ type: "list",
+ listValues: ["ltr", "rtl", "lro", "rlo"]
+ },
+ src: {
+ attributeName: "src",
+ required: true,
+ type: "string"
+ },
+ width: {
+ attributeName: "width",
+ required: false,
+ type: "integer"
+ },
+ height: {
+ attributeName: "height",
+ required: false,
+ type: "integer"
+ }
+ }
+ },
+ content: {
+ nodeName: "content",
+ required: false,
+ occurrence: 1,
+ attributes: {
+ "xml:lang": {
+ attributeName: "xml:lang",
+ required: false,
+ type: "iso-language",
+ unique: true
+ },
+ dir: {
+ attributeName: "dir",
+ required: false,
+ type: "list",
+ listValues: ["ltr", "rtl", "lro", "rlo"]
+ },
+ src: {
+ attributeName: "src",
+ required: true,
+ type: "string"
+ },
+ encoding: {
+ attributeName: "encoding",
+ required: false,
+ type: "string"
+ },
+ type: {
+ attributeName: "type",
+ required: false,
+ type: "string"
+ }
+ }
+ },
+ setting: {
+ nodeName: "tizen:setting",
+ required: false,
+ occurrence: 0,
+ attributes: {
+ 'screen-orientation': {
+ attributeName: "screen-orientation",
+ required: false,
+ type: "list",
+ listValues: ['portrait', 'landscape', 'auto']
+ },
+ 'context-menu': {
+ attributeName: "context-menu",
+ required: false,
+ type: "list",
+ listValues: ['enable', 'disable']
+ },
+ 'background-support': {
+ attributeName: "background-support",
+ required: false,
+ type: "list",
+ listValues: ['enable', 'disable']
+ },
+ 'encryption': {
+ attributeName: "encryption",
+ required: false,
+ type: "list",
+ listValues: ['enable', 'disable']
+ },
+ 'install-location': {
+ attributeName: "install-location",
+ required: false,
+ type: "list",
+ listValues: ['auto', 'internal-only', 'perfer-external']
+ },
+ 'hwkey-event': {
+ attributeName: "hwkey-event",
+ required: false,
+ type: "list",
+ listValues: ['enable', 'disable']
+ }
+ }
+ },
+ application: {
+ nodeName: "tizen:application",
+ required: true,
+ occurrence: 1,
+ attributes: {
+ id: {
+ attributeName: "id",
+ required: true,
+ type: "string"
+ },
+ required_version: {
+ attributeName: "required_version",
+ required: true,
+ type: "list",
+ listValues: ['1.0', '2.0', '2.1', '2.2']
+ },
+ package: {
+ attributeName: "package",
+ required: false,
+ type: "string"
+ }
+ }
+ },
+ "tizen:content": {
+ nodeName: "tizen:content",
+ required: false,
+ occurrence: 1,
+ attributes: {
+ src: {
+ attributeName: "src",
+ required: true,
+ type: "string"
+ }
+ }
+ },
+ control: {
+ nodeName: "tizen:app-control",
+ required: false,
+ occurrence: 0,
+ children: {
+ src: {
+ nodeName: "tizen:src",
+ required: true,
+ occurence: 0,
+ attributes: {
+ name: {
+ attributeName: "name",
+ required: false,
+ type: "string"
+ }
+ }
+ },
+ operation: {
+ nodeName: "tizen:operation",
+ required: true,
+ occurence: 0,
+ attributes: {
+ name: {
+ attributeName: "name",
+ required: false,
+ type: "string"
+ }
+ }
+ },
+ uri: {
+ nodeName: "tizen:uri",
+ required: false,
+ occurence: 0,
+ attributes: {
+ name: {
+ attributeName: "name",
+ required: false,
+ type: "string"
+ }
+ }
+ },
+ mime: {
+ nodeName: "tizen:mime",
+ required: false,
+ occurence: 0,
+ attributes: {
+ name: {
+ attributeName: "name",
+ required: false,
+ type: "string"
+ }
+ }
+ }
+ }
+ },
+ "app-widget": {
+ nodeName: "tizen:app-widget",
+ required: false,
+ occurrence: 0,
+ attributes: {
+ id: {
+ attributeName: "id",
+ required: true,
+ type: "string"
+ },
+ primary: {
+ attributeName: "primary",
+ required: true,
+ type: "list",
+ listValues: ['true', 'false']
+ },
+ "auto-launch": {
+ attributeName: "auto-launch",
+ required: false,
+ type: "list",
+ listValues: ['true', 'false']
+ },
+ "update-period": {
+ attributeName: "update-period",
+ required: false,
+ type: "integer"
+ }
+ },
+ children: {
+ "box-label": {
+ nodeName: "tizen:box-label",
+ required: true,
+ occurence: 1
+ },
+ "box-icon": {
+ nodeName: "tizen:box-icon",
+ required: true,
+ occurence: 1,
+ attributes: {
+ src: {
+ attributeName: "src",
+ required: true,
+ type: "string"
+ }
+ }
+ },
+ "box-content": {
+ nodeName: "tizen:box-content",
+ required: true,
+ occurence: 1,
+ attributes: {
+ src: {
+ attributeName: "src",
+ required: true,
+ type: "string"
+ },
+ "mouse-event": {
+ attributeName: "mouse-event",
+ required: false,
+ type: "string"
+ },
+ "touch-event": {
+ attributeName: "touch-event",
+ required: false,
+ type: "string"
+ }
+ },
+ children: {
+ "box-size": {
+ nodeName: "tizen:box-size",
+ required: false,
+ occurence: 1,
+ attributes: {
+ "preview": {
+ attributeName: "preview",
+ required: false,
+ type: "string"
+ }
+ }
+ },
+ pd: {
+ nodeName: "tizen:pd",
+ required: false,
+ occurence: 1,
+ attributes: {
+ "src": {
+ attributeName: "src",
+ required: true,
+ type: "string"
+ },
+ "width": {
+ attributeName: "width",
+ required: true,
+ type: "integer"
+ },
+ "height": {
+ attributeName: "height",
+ required: true,
+ type: "integer"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ account: {
+ nodeName: "tizen:account",
+ required: false,
+ occurrence: 0,
+ attributes: {
+ "multiple-account-support": {
+ attributeName: "multiple-account-support",
+ required: true,
+ type: "list",
+ listValues: ['true', 'false']
+ }
+ },
+ children: {
+ icon: {
+ nodeName: "tizen:icon",
+ required: false,
+ occurence: 1,
+ attributes: {
+ section: {
+ attributeName: "section",
+ required: true,
+ type: "string"
+ }
+ }
+ },
+ "display-name": {
+ nodeName: "tizen:display-name",
+ required: false,
+ occurence: 1,
+ attributes: {
+ "xml:lang": {
+ attributeName: "xml:lang",
+ required: false,
+ type: "string"
+ }
+ }
+ },
+ capability: {
+ nodeName: "capability",
+ required: false,
+ occurence: 1
+ }
+ }
+ },
+ feature: {
+ nodeName: "tizen:privilege",
+ required: false,
+ occurrence: 0,
+ attributes: {
+ "xml:lang": {
+ attributeName: "xml:lang",
+ required: false,
+ type: "iso-language"
+ },
+ dir: {
+ attributeName: "dir",
+ required: false,
+ type: "list",
+ listValues: ["ltr", "rtl", "lro", "rlo"]
+ },
+ name: {
+ attributeName: "name",
+ required: true,
+ type: "list",
+ listValues: ["http://www.w3.org/TR/battery-status/",
+ "http://www.w3.org/TR/geolocation-API/",
+ "http://www.w3.org/TR/touch-events/",
+ "http://www.w3.org/TR/vibration/",
+ "http://tizen.org/privilege/tizen",
+ "http://tizen.org/privilege/alarm",
+ "http://tizen.org/privilege/application.launch",
+ "http://tizen.org/privilege/appmanager.kill", "http://tizen.org/privilege/appmanager.certificate",
+ "http://tizen.org/privilege/content.read", "http://tizen.org/privilege/content.write",
+ "http://tizen.org/privilege/filesystem.read", "http://tizen.org/privilege/filesystem.write",
+ "http://tizen.org/privilege/packagemanager.install", "http://tizen.org/privilege/package.info",
+ "http://tizen.org/privilege/power",
+ "http://tizen.org/privilege/system", "http://tizen.org/privilege/systemmanager",
+ "http://tizen.org/privilege/time"]
+ },
+ required: {
+ attributeName: "required",
+ type: "boolean",
+ required: false
+ }
+ },
+ children: {
+ param: {
+ nodeName: "param",
+ required: false,
+ occurrence: 0,
+ attributes: {
+ "xml:lang": {
+ attributeName: "xml:lang",
+ required: false,
+ type: "iso-language"
+ },
+ dir: {
+ attributeName: "dir",
+ required: false,
+ type: "list",
+ listValues: ["ltr", "rtl", "lro", "rlo"]
+ },
+ name: {
+ attributeName: "name",
+ required: true,
+ type: "string"
+ },
+ value: {
+ attributeName: "value",
+ required: true,
+ type: "string"
+ }
+ }
+ }
+ }
+ },
+ category: {
+ nodeName: "tizen:category",
+ required: false,
+ occurrence: 0,
+ attributes: {
+ "name": {
+ attributeName: "name",
+ required: true,
+ type: "string"
+ }
+ }
+ },
+ metadata: {
+ nodeName: "tizen:metadata",
+ required: false,
+ occurrence: 0,
+ attributes: {
+ "key": {
+ attributeName: "key",
+ required: true,
+ type: "string"
+ },
+ "value": {
+ attributeName: "value",
+ required: true,
+ type: "string"
+ }
+ }
+ },
+ preference: {
+ nodeName: "preference",
+ required: false,
+ occurrence: 0,
+ attributes: {
+ "xml:lang": {
+ attributeName: "xml:lang",
+ required: false,
+ type: "iso-language"
+ },
+ dir: {
+ attributeName: "dir",
+ required: false,
+ type: "list",
+ listValues: ["ltr", "rtl", "lro", "rlo"]
+ },
+ name: {
+ attributeName: "name",
+ required: true,
+ type: "string"
+ },
+ value: {
+ type: "string",
+ required: false,
+ attributeName: "value"
+ },
+ readonly: {
+ attributeName: "readonly",
+ type: "boolean",
+ required: false
+ }
+ }
+ }
+ }
+ }
+ }
+};
+
+});
+define('ripple/platform/tv/1.0/spec/device', function (require, exports, module) {
+/*
+ * Copyright 2011 Intel Corporation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+var event = require('ripple/event'),
+ utils = require('ripple/utils'),
+ StorageTypeTable = {
+ "UNKNOWN": "UNKNOWN",
+ "INTERNAL": "INTERNAL",
+ "MMC": "MMC",
+ "USB_HOST": "USB_HOST"
+ },
+ NetworkTypeTable = {
+ "NONE": "NONE",
+ "2G": "2G",
+ "2.5G": "2.5G",
+ "3G": "3G",
+ "4G": "4G",
+ "WIFI": "WIFI",
+ "ETHERNET": "ETHERNET",
+ "UNKNOWN": "UNKNOWN"
+ },
+ LocaleTable = {
+ "eng_USA": "eng_USA",
+ "eng_CAN": "eng_CAN",
+ "deu_DEU": "deu_DEU",
+ "jpn_JPN": "jpn_JPN",
+ "zho_CHN": "zho_CHN",
+ "UNKNOWN": "UNKNOWN"
+ },
+ SimStateTable = {
+ "ABSENT": "ABSENT",
+ "INITIALIZING": "INITIALIZING",
+ "READY": "READY",
+ "PIN_REQUIRED": "PIN_REQUIRED",
+ "PUK_REQUIRED":"PUK_REQUIRED",
+ "NETWORK_LOCKED": "NETWORK_LOCKED",
+ "SIM_LOCKED": "SIM_LOCKED",
+ "UNKNOWN": "UNKNOWN"
+ };
+
+function deviceStatusEventTrigger(setting) {
+ event.trigger("DeviceStatusChanged", [setting]);
+}
+
+module.exports = {
+ "Config": {
+ "vibratingMode": {
+ "name": "Vibrator",
+ "control": {
+ "type": "checkbox",
+ "value": true
+ },
+ "callback": function (setting) {
+ event.trigger("VibratingModeChanged", [setting]);
+ }
+ },
+ "lockScreen": {
+ "name": "Lock Screen",
+ "control": {
+ "type": "checkbox",
+ "value": false
+ },
+ "callback": function (setting) {
+ event.trigger("LockScreenChanged", [setting]);
+ }
+ }
+ },
+ "DEVICE_ORIENTATION": {
+ "status": {
+ "name": "Status",
+ "control": {
+ "type": "label",
+ "innertext": "PORTRAIT_PRIMARY",
+ "value": "PORTRAIT_PRIMARY"
+ },
+ "event": "LayoutChanged"
+ },
+ "isAutoRotation": {
+ "name": "Is Auto Rotation",
+ "control": {
+ "type": "label",
+ "value": false
+ }
+ }
+ },
+ "CPU": {
+ "load": {
+ "name": "Load",
+ "control": {
+ "type": "number",
+ "value": 0.1
+ },
+ "event": "CpuLoadChanged",
+ "callback": function (setting) {
+ if (setting > 1) setting = 1;
+ if (setting < 0) setting = 0;
+ event.trigger("CpuLoadChanged", [setting]);
+ }
+ }
+ },
+ "STORAGE": {
+ "type": {
+ "name": "Type",
+ "control": {
+ "type": "select",
+ "value": StorageTypeTable["INTERNAL"]
+ },
+ "options": (function () {
+ var optionList = {};
+ utils.forEach(StorageTypeTable, function (key, value) {
+ optionList[key] = StorageTypeTable[value];
+ });
+
+ return optionList;
+ }())
+ },
+ "capacity": {
+ "name": "Capacity(bytes)",
+ "control": {
+ "type": "label",
+ "value": 16000000000
+ }
+ },
+ "availableCapacity": {
+ "name": "AvailableCapacity(bytes)",
+ "control": {
+ "type": "number",
+ "value": 12000000000
+ },
+ "callback": function (setting) {
+ event.trigger("AvailCapacityChanged", [setting]);
+ }
+ },
+ "isRemovable": {
+ "name": "IsRemovable",
+ "control": {
+ "type": "checkbox",
+ "value": true
+ }
+ }
+ },
+ "BUILD": {
+ "model": {
+ "name": "Model",
+ "control": {
+ "type": "label",
+ "innertext": "tizen-2.2 build",
+ "value": "tizen-2.2 build"
+ }
+ },
+ "manufacturer": {
+ "name": "Manufacturer",
+ "control": {
+ "type": "label",
+ "innertext": "Tizen",
+ "value": "Tizen"
+ }
+ },
+ "buildVersion": {
+ "name": "Build Version",
+ "control": {
+ "type": "label",
+ "innertext": "TIZEN_WEB_SIMULATOR_000001",
+ "value": "TIZEN_WEB_SIMULATOR_000001"
+ }
+ }
+ },
+ "LOCALE": {
+ "language": {
+ "name": "Language",
+ "control": {
+ "type": "select",
+ "value": LocaleTable["eng_USA"]
+ },
+ "options": (function () {
+ var optionList = {};
+ utils.forEach(LocaleTable, function (key, value) {
+ optionList[key] = LocaleTable[value];
+ });
+
+ return optionList;
+ }())
+ },
+ "country": {
+ "name": "Country",
+ "control": {
+ "type": "select",
+ "value": LocaleTable["eng_USA"]
+ },
+ "options": (function () {
+ var optionList = {};
+ utils.forEach(LocaleTable, function (key, value) {
+ optionList[key] = LocaleTable[value];
+ });
+
+ return optionList;
+ }())
+ }
+ },
+ "DISPLAY": {
+ "resolutionWidth": {
+ "name": "Resolution Width(pixels)",
+ "control": {
+ "type": "label",
+ "value": 0
+ }
+ },
+ "resolutionHeight": {
+ "name": "Resolution Height(pixels)",
+ "control": {
+ "type": "label",
+ "value": 0
+ }
+ },
+ "dotsPerInchWidth": {
+ "name": "DPI-X",
+ "control": {
+ "type": "label",
+ "value": 0
+ }
+ },
+ "dotsPerInchHeight": {
+ "name": "DPI-Y",
+ "control": {
+ "type": "label",
+ "value": 0
+ }
+ },
+ "physicalWidth": {
+ "name": "Physical Width(millimeters)",
+ "control": {
+ "type": "label",
+ "value": 0
+ }
+ },
+ "physicalHeight": {
+ "name": "Physical Height(millimeters)",
+ "control": {
+ "type": "label",
+ "value": 0
+ }
+ },
+ "brightness": {
+ "name": "Brightness",
+ "control": {
+ "type": "number",
+ "value": 1
+ },
+ "event": "DisplayBrightnessChanged",
+ "callback": function (setting) {
+ if (setting > 1) setting = 1;
+ if (setting < 0) setting = 0;
+ event.trigger("DisplayBrightnessChanged", [setting]);
+ }
+ }
+ },
+ "NETWORK": {
+ "networkType": {
+ "name": "Network Type",
+ "control" : {
+ "type": "select",
+ "value": NetworkTypeTable["NONE"]
+ },
+ "options": (function () {
+ var optionList = {};
+ utils.forEach(NetworkTypeTable, function (key, value) {
+ optionList[key] = NetworkTypeTable[value];
+ });
+
+ return optionList;
+ }())
+ }
+ },
+ "WIFI_NETWORK": {
+ "status": {
+ "name": "Status",
+ "control": {
+ "type": "checkbox",
+ "value": false
+ },
+ "event": "WiFiNetworkStatusChanged",
+ "callback": function (setting) {
+ event.trigger("WiFiNetworkStatusChanged", [setting]);
+ }
+ },
+ "ssid": {
+ "name": "SSID",
+ "control": {
+ "type": "text",
+ "value": "Tizen WiFi"
+ }
+ },
+ "ipAddress": {
+ "name": "IP Address",
+ "control": {
+ "type": "text",
+ "value": "192.168.0.1"
+ }
+ },
+ "ipv6Address": {
+ "name": "IPv6 Address",
+ "control": {
+ "type": "text",
+ "value": "2001:db8:85a3:0:0:0:70:7334"
+ }
+ },
+ "signalStrength": {
+ "name": "Signal Strength",
+ "control": {
+ "type": "select",
+ "value": 0
+ },
+ "options": (function () {
+ var i,
+ optionList = {};
+
+ for (i = 0; i <= 10; i++) {
+ optionList[i] = i;
+ }
+
+ return optionList;
+ }())
+ }
+ },
+ "CELLULAR_NETWORK": {
+ "status": {
+ "name": "Status",
+ "control": {
+ "type": "checkbox",
+ "value": true
+ },
+ "event": "CellularNetworkStatusChanged",
+ "callback": function (setting) {
+ event.trigger("CellularNetworkStatusChanged", [setting]);
+ }
+ },
+ "apn": {
+ "name": "APN",
+ "control": {
+ "type": "text",
+ "value": "Tizen"
+ }
+ },
+ "ipAddress": {
+ "name": "IP Address",
+ "control": {
+ "type": "text",
+ "value": "10.0.2.16"
+ }
+ },
+ "ipv6Address": {
+ "name": "IPv6 Address",
+ "control": {
+ "type": "text",
+ "value": "2001:db8:85a3:0:0:0:70:7334"
+ }
+ },
+ "mcc": {
+ "name": "MCC",
+ "control": {
+ "type": "number",
+ "value": 460
+ }
+ },
+ "mnc": {
+ "name": "MNC",
+ "control": {
+ "type": "number",
+ "value": 0
+ }
+ },
+ "cellId": {
+ "name": "Cell ID",
+ "control": {
+ "type": "number",
+ "value": 0
+ }
+ },
+ "lac": {
+ "name": "LAC",
+ "control": {
+ "type": "number",
+ "value": 0
+ }
+ },
+ "isRoaming": {
+ "name": "Roaming",
+ "control": {
+ "type": "checkbox",
+ "value": true
+ }
+ },
+ "isFlightMode": {
+ "name": "Flight Mode",
+ "control": {
+ "type": "checkbox",
+ "value": false
+ },
+ "callback": function (setting) {
+ event.trigger("FlightModeChanged", [setting]);
+ }
+ },
+ "imei": {
+ "name": "IMEI",
+ "control": {
+ "type": "text",
+ "value": "012417005203000"
+ }
+ }
+ },
+ "SIM": {
+ "state": {
+ "name": "State",
+ "control": {
+ "type": "select",
+ "value": SimStateTable["READY"]
+ },
+ "options": (function () {
+ var optionList = {};
+ utils.forEach(SimStateTable, function (key, value) {
+ optionList[key] = SimStateTable[value];
+ });
+
+ return optionList;
+ }())
+ },
+ "operatorName": {
+ "name": "Operator Name",
+ "control": {
+ "type": "text",
+ "value": "Tizen"
+ }
+ },
+ "msisdn": {
+ "name": "MSISDN",
+ "control": {
+ "type": "text",
+ "value": "088123456789"
+ }
+ },
+ "iccid": {
+ "name": "ICCID",
+ "control": {
+ "type": "text",
+ "value": "123000MFSSYYGXXXXXXP"
+ }
+ },
+ "mcc": {
+ "name": "MCC",
+ "control": {
+ "type": "number",
+ "value": 460
+ }
+ },
+ "mnc": {
+ "name": "MNC",
+ "control": {
+ "type": "number",
+ "value": 0
+ }
+ },
+ "msin": {
+ "name": "MSIN",
+ "control": {
+ "type": "text",
+ "value": "H1 H2 H3 S 12345"
+ }
+ },
+ "spn": {
+ "name": "SPN",
+ "control": {
+ "type": "text",
+ "value": "TizenSPN"
+ }
+ }
+ },
+ "PERIPHERAL": {
+ "isVideoOutputOn": {
+ "name": "Video Output",
+ "control": {
+ "type": "checkbox",
+ "value": false
+ }
+ }
+ }
+};
+
+});
+define('ripple/platform/tv/1.0/spec/sensor', function (require, exports, module) {
+/*
+ * Copyright 2012 Intel Corporation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+var event = require('ripple/event');
+
+function sensorStatusEventTrigger(setting) {
+ event.trigger("SensorStatusChanged", [setting]);
+}
+
+module.exports = {
+ "Accelerometer": {
+ "resolution": 0.039239998906850815,
+ "minDelay": 20,
+ "range": 20.051639556884766,
+ "name": "Accelerometer",
+ "type": "Accelerometer"
+ },
+ "MagneticField": {
+ "x": {
+ "name": "X",
+ "control": {
+ "type": "range",
+ "value": 100.0000000000000000,
+ "min": 0.0000000000000000,
+ "max": 200.0000000000000000,
+ "step": 0.0000000000000001
+ },
+ "callback": function (setting) {
+ event.trigger("MagneticField-xChanged", [setting]);
+ }
+ },
+
+ "y": {
+ "name": "Y",
+ "control": {
+ "type": "range",
+ "value": 100.0000000000000000,
+ "min": 0.0000000000000000,
+ "max": 200.0000000000000000,
+ "step": 0.0000000000000001
+ },
+ "callback": function (setting) {
+ event.trigger("MagneticField-yChanged", [setting]);
+ }
+ },
+
+ "z": {
+ "name": "Z",
+ "control": {
+ "type": "range",
+ "value": 100.0000000000000000,
+ "min": 0.0000000000000000,
+ "max": 200.0000000000000000,
+ "step": 0.0000000000000001
+ },
+ "callback": function (setting) {
+ event.trigger("MagneticField-zChanged", [setting]);
+ }
+ },
+
+ "resolution": 1,
+ "minDelay": 20,
+ "range": 359,
+ "name": "MagneticField",
+ "type": "MagneticField"
+ },
+ "Rotation": {
+ "resolution": 1,
+ "minDelay": 20,
+ "range": 359,
+ "name": "Rotation",
+ "type": "Rotation"
+ },
+ "Orientation": {
+ "resolution": 1,
+ "minDelay": 20,
+ "range": 359,
+ "name": "Orientation",
+ "type": "Orientation"
+ }
+};
+
+});
+define('ripple/platform/tv/1.0/spec/ui', function (require, exports, module) {
+/*
+ * Copyright 2014 Intel Corporation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+module.exports = {
+ plugins: [
+ "sensors",
+ "communication",
+ "geoView",
+ "widgetConfig",
+ "deviceSettings",
+ "application",
+ "network",
+ "power",
+ "download",
+ "notifications",
+ "package",
+ "messagePort",
+ "secureElement"
+ ]
+};
+
+});
+define('ripple/platform/tv/1.0/spec', function (require, exports, module) {
+/*
+ * Copyright 2014 Intel Corporation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+module.exports = {
+
+ id: "tv",
+ version: "1.0",
+ name: "TV",
+
+ persistencePrefix: "tv2-",
+
+ config: require('ripple/platform/tv/1.0/spec/config'),
+ ui: require('ripple/platform/tv/1.0/spec/ui'),
+ device: require('ripple/platform/tv/1.0/spec/device'),
+ sensor: require('ripple/platform/tv/1.0/spec/sensor'),
+ DeviceMotionEvent: require('ripple/platform/tizen/2.0/DeviceMotionEvent'),
+ DeviceOrientationEvent: require('ripple/platform/tizen/2.0/DeviceOrientationEvent'),
+
+ objects: {
+ Coordinates: {
+ path: "w3c/1.0/Coordinates"
+ },
+ Position: {
+ path: "w3c/1.0/Position"
+ },
+ PositionError: {
+ path: "w3c/1.0/PositionError"
+ },
+ SensorConnection: {
+ path: "w3c/1.0/SensorConnection"
+ },
+ navigator: {
+ path: "tizen/2.0/navigator",
+ children: {
+ geolocation: {
+ path: "wac/2.0/geolocation"
+ },
+ battery: {
+ path: "tizen/2.0/battery"
+ }
+ }
+ },
+ tizen: {
+ feature: "http://tizen.org/privilege/tizen",
+ children: {
+ AlarmAbsolute: {
+ path: "tizen/2.0/AlarmAbsolute"
+ },
+ AlarmRelative: {
+ path: "tizen/2.0/AlarmRelative"
+ },
+ ApplicationControl: {
+ path: "tizen/2.0/ApplicationControl"
+ },
+ ApplicationControlData: {
+ path: "tizen/2.0/ApplicationControlData"
+ },
+ AttributeFilter: {
+ path: "tizen/2.0/AttributeFilter"
+ },
+ AttributeRangeFilter: {
+ path: "tizen/2.0/AttributeRangeFilter"
+ },
+ BookmarkFolder: {
+ path: "tizen/2.0/BookmarkFolder"
+ },
+ BookmarkItem: {
+ path: "tizen/2.0/BookmarkItem"
+ },
+ CalendarAlarm: {
+ path: "tizen/2.0/CalendarAlarm"
+ },
+ CalendarAttendee: {
+ path: "tizen/2.0/CalendarAttendee"
+ },
+ CalendarEvent: {
+ path: "tizen/2.0/CalendarEvent"
+ },
+ CalendarEventId: {
+ path: "tizen/2.0/CalendarEventId"
+ },
+ CalendarRecurrenceRule: {
+ path: "tizen/2.0/CalendarRecurrenceRule"
+ },
+ CalendarTask: {
+ path: "tizen/2.0/CalendarTask"
+ },
+ CompositeFilter: {
+ path: "tizen/2.0/CompositeFilter"
+ },
+ Contact: {
+ path: "tizen/2.0/ContactBase"
+ },
+ ContactAddress: {
+ path: "tizen/2.0/ContactAddress"
+ },
+ ContactAnniversary: {
+ path: "tizen/2.0/ContactAnniversary"
+ },
+ ContactEmailAddress: {
+ path: "tizen/2.0/ContactEmailAddress"
+ },
+ ContactGroup: {
+ path: "tizen/2.0/ContactGroup"
+ },
+ ContactName: {
+ path: "tizen/2.0/ContactName"
+ },
+ ContactOrganization: {
+ path: "tizen/2.0/ContactOrganization"
+ },
+ ContactPhoneNumber: {
+ path: "tizen/2.0/ContactPhoneNumber"
+ },
+ ContactRef: {
+ path: "tizen/2.0/ContactRef"
+ },
+ ContactWebSite: {
+ path: "tizen/2.0/ContactWebSite"
+ },
+ DownloadRequest: {
+ path: "tizen/2.0/DownloadRequest"
+ },
+ Message: {
+ path: "tizen/2.0/Message"
+ },
+ NDEFMessage: {
+ path: "tizen/2.0/NDEFMessage"
+ },
+ NDEFRecord: {
+ path: "tizen/2.0/NDEFRecord"
+ },
+ NDEFRecordMedia: {
+ path: "tizen/2.0/NDEFRecordMedia"
+ },
+ NDEFRecordText: {
+ path: "tizen/2.0/NDEFRecordText"
+ },
+ NDEFRecordURI: {
+ path: "tizen/2.0/NDEFRecordURI"
+ },
+ NotificationDetailInfo: {
+ path: "tizen/2.0/NotificationDetailInfo"
+ },
+ SimpleCoordinates: {
+ path: "tizen/2.0/SimpleCoordinates"
+ },
+ SortMode: {
+ path: "tizen/2.0/SortMode"
+ },
+ StatusNotification: {
+ path: "tizen/2.0/StatusNotification"
+ },
+ SyncInfo: {
+ path: "tizen/2.0/SyncInfo"
+ },
+ SyncServiceInfo: {
+ path: "tizen/2.0/SyncServiceInfo"
+ },
+ SyncProfileInfo: {
+ path: "tizen/2.0/SyncProfileInfo"
+ },
+ TZDate: {
+ path: "tizen/2.0/TZDate"
+ },
+ TimeDuration: {
+ path: "tizen/2.0/TimeDuration"
+ },
+ alarm: {
+ path: "tizen/2.0/alarm",
+ feature: "http://tizen.org/privilege/alarm",
+ handleSubfeatures: true
+ },
+ application: {
+ path: "tizen/2.0/application",
+ feature: "http://tizen.org/privilege/application.launch|http://tizen.org/privilege/appmanager.kill|http://tizen.org/privilege/appmanager.certificate",
+ handleSubfeatures: true
+ },
+ bluetooth: {
+ path: "tizen/2.0/bluetooth",
+ feature: "http://tizen.org/privilege/bluetoothmanager|http://tizen.org/privilege/bluetooth.admin|http://tizen.org/privilege/bluetooth.gap|http://tizen.org/privilege/bluetooth.spp",
+ handleSubfeatures: true
+ },
+ bookmark: {
+ path: "tizen/2.0/bookmark",
+ feature: "http://tizen.org/privilege/bookmark.read|http://tizen.org/privilege/bookmark.write",
+ handleSubfeatures: true
+ },
+ callhistory: {
+ path: "tizen/2.0/callHistory",
+ feature: "http://tizen.org/privilege/callhistory|http://tizen.org/privilege/callhistory.read|http://tizen.org/privilege/callhistory.write",
+ handleSubfeatures: true
+ },
+ calendar: {
+ path: "tizen/2.0/calendar",
+ feature: "http://tizen.org/privilege/calendar.read|http://tizen.org/privilege/calendar.write",
+ handleSubfeatures: true
+ },
+ contact: {
+ path: "tizen/2.0/contact",
+ feature: "http://tizen.org/privilege/contact.read|http://tizen.org/privilege/contact.write",
+ handleSubfeatures: true
+ },
+ content: {
+ path: "tizen/2.0/content",
+ feature: "http://tizen.org/privilege/content.read|http://tizen.org/privilege/content.write",
+ handleSubfeatures: true
+ },
+ datacontrol: {
+ path: "tizen/2.0/datacontrol",
+ feature: "http://tizen.org/privilege/datacontrol.consumer",
+ handleSubfeatures: true
+ },
+ datasync: {
+ path: "tizen/2.0/datasync",
+ feature: "http://tizen.org/privilege/datasync",
+ handleSubfeatures: true
+ },
+ download: {
+ path: "tizen/2.0/download",
+ feature: "http://tizen.org/privilege/download",
+ handleSubfeatures: true
+ },
+ filesystem: {
+ path: "tizen/2.0/filesystem",
+ feature: "http://tizen.org/privilege/filesystem.read|http://tizen.org/privilege/filesystem.write"
+ },
+ messageport: {
+ path: "tizen/2.0/messageport"
+ },
+ messaging: {
+ path: "tizen/2.0/messaging",
+ feature: "http://tizen.org/privilege/messaging.send|http://tizen.org/privilege/messaging.read|http://tizen.org/privilege/messaging.write",
+ handleSubfeatures: true
+ },
+ networkbearerselection: {
+ path: "tizen/2.0/networkbearerselection",
+ feature: "http://tizen.org/privilege/networkbearerselection",
+ handleSubfeatures: true
+ },
+ nfc: {
+ path: "tizen/2.0/nfc",
+ feature: "http://tizen.org/privilege/nfc.common|http://tizen.org/privilege/nfc.admin|http://tizen.org/privilege/nfc.tag|http://tizen.org/privilege/nfc.p2p",
+ handleSubfeatures: true
+ },
+ notification: {
+ path: "tizen/2.0/notification",
+ feature: "http://tizen.org/privilege/notification",
+ handleSubfeatures: true
+ },
+ package: {
+ path: "tizen/2.0/package",
+ feature: "http://tizen.org/privilege/packagemanager.install|http://tizen.org/privilege/package.info",
+ handleSubfeatures: true
+ },
+ power: {
+ path: "tizen/2.0/power",
+ feature: "http://tizen.org/privilege/power",
+ handleSubfeatures: true
+ },
+ push: {
+ path: "tizen/2.0/push",
+ feature: "http://tizen.org/privilege/push",
+ handleSubfeatures: true
+ },
+ seService: {
+ path: "tizen/2.0/secureelement",
+ feature: "http://tizen.org/privilege/secureelement",
+ handleSubfeatures: true
+ },
+ systeminfo: {
+ path: "tizen/2.0/systeminfo",
+ feature: "http://tizen.org/privilege/system|http://tizen.org/privilege/systemmanager",
+ handleSubfeatures: true
+ },
+ systemsetting: {
+ path: "tizen/2.0/systemsetting",
+ feature: "http://tizen.org/privilege/setting",
+ handleSubfeatures: true
+ },
+ time: {
+ path: "tizen/2.0/time",
+ feature: "http://tizen.org/privilege/time",
+ handleSubfeatures: true
+ },
+ websetting: {
+ path: "tizen/2.0/websetting",
+ feature: "http://tizen.org/privilege/websetting",
+ handleSubfeatures: true
+ }
+ }
+ }
+ }
+};
+
+});
+define('ripple/platform/tv/1.0/typecast', function (require, exports, module) {
+/*
+ * Copyright 2014 Intel Corporation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+var typedef = require('ripple/platform/tv/1.0/typedef'),
+ errorcode = require('ripple/platform/tv/1.0/errorcode'),
+ WebAPIException = require('ripple/platform/tv/1.0/WebAPIException'),
+ TypeCoerce = require('ripple/platform/tv/1.0/typecoerce'),
+ _self = {};
+
+function _cast(pattern, obj, isDuplicate) {
+ var tc, tcFunc;
+
+ if (pattern === null)
+ return;
+
+ tc = new TypeCoerce(pattern);
+ tcFunc = isDuplicate ? tc.copy : tc.cast;
+
+ if ((obj = tcFunc(obj)) === null) {
+ throw new WebAPIException(errorcode.TYPE_MISMATCH_ERR);
+ }
+
+ return obj;
+}
+
+function _castType(pattern) {
+ /*
+ * Type cast for each known type. The function name is the exact name of the
+ * corresponding type.
+ *
+ * obj
+ * Variable to be casted
+ *
+ * aux
+ * Auxiliary descriptor of obj. It can be any one or combination of below
+ * strings, or ignored in most cases.
+ *
+ * "?" Nullable types
+ * "[]" Array
+ * "+" Deep copy
+ *
+ * Return
+ * Casted or duplicated object.
+ */
+
+ return function (obj, aux) {
+ var type, isNullable, isDuplicate;
+
+ aux = aux ? String(aux) : "";
+ type = (aux.indexOf("[]") !== -1) ? [pattern] : pattern;
+ isNullable = (aux.indexOf("?") !== -1);
+ isDuplicate = (aux.indexOf("+") !== -1);
+
+ if (isNullable && ((obj === null) || (obj === undefined))) {
+ return obj;
+ }
+
+ return _cast(type, obj, isDuplicate);
+ };
+}
+
+function _castConstructor(name) {
+ var constructors, hook, vtc, isOverloaded, castConstructor;
+
+ /*
+ * Type cast for constructor. The function name is the exact name of the
+ * object type.
+ *
+ * argv
+ * arguments. The keyword 'arguments' will always be passed in.
+ */
+
+ function castUnique(argv) {
+ _cast(constructors, argv, false);
+ }
+
+ /*
+ * Type cast for overloaded constructors. The function name is the exact
+ * name of the object type.
+ *
+ * argv
+ * arguments. The keyword 'arguments' will always be passed in.
+ *
+ * scope
+ * 'this' of the original constructor.
+ *
+ * voc
+ * Array of overloaded constructors callback
+ */
+
+ function castOverload(argv, scope, voc) {
+ var iOverload;
+
+ if (!vtc) {
+ vtc = [];
+ constructors.forEach(function (c) {
+ vtc.push((c === null) ? null : new TypeCoerce(c));
+ });
+ }
+
+ vtc.some(function (tc, index) {
+ if (tc && (tc.cast(argv) === null))
+ return false;
+
+ iOverload = index;
+ return true;
+ });
+
+ if (iOverload === undefined) {
+ throw new WebAPIException(errorcode.TYPE_MISMATCH_ERR);
+ }
+
+ return (voc && voc[iOverload].apply(scope, argv));
+ }
+
+ constructors = typedef.constructor[name];
+
+ if (name in _self) {
+ hook = _self[name];
+ }
+
+ isOverloaded = (Object.prototype.toString.call(constructors) ===
+ "[object Array]");
+ castConstructor = isOverloaded ? castOverload : castUnique;
+
+ return function (argv, scope) {
+ if (Object.prototype.toString.call(argv) !== "[object Arguments]") {
+ return (hook && hook.apply(this, arguments));
+ }
+
+ if (!(scope instanceof argv.callee)) {
+ throw new WebAPIException(errorcode.TYPE_MISMATCH_ERR, null, "TypeError");
+ }
+
+ castConstructor.apply(this, arguments);
+ };
+}
+
+function _castInterface(name) {
+ var interface, hook;
+
+ interface = typedef.interface[name];
+
+ if (name in _self) {
+ hook = _self[name];
+ }
+
+ /*
+ * Type cast for each known method of interface. The function name is the
+ * exact name of the corresponding interface.
+ *
+ * method
+ * String of method name
+ *
+ * argv
+ * arguments. The keyword 'arguments' will always be passed in.
+ *
+ * isDuplicate
+ * A boolean value to indicate whether arguments will be copied or not.
+ */
+
+ return function (method, argv, isDuplicate) {
+ if ((typeof method !== "string") || (typeof argv !== "object")) {
+ return (hook && hook.apply(this, arguments));
+ }
+
+ _cast(interface[method], argv, isDuplicate);
+ };
+}
+
+(function () {
+ var i;
+
+ for (i in typedef) {
+ _self[i] = _castType(typedef[i]);
+ }
+
+ for (i in typedef.constructor) {
+ _self[i] = _castConstructor(i);
+ typedef[i]._constructor = i;
+ }
+
+ for (i in typedef.interface) {
+ _self[i] = _castInterface(i);
+ }
+}());
+
+module.exports = _self;
+
+});
+define('ripple/platform/tv/1.0/typecoerce', function (require, exports, module) {
+/*
+ * Copyright 2014 Intel Corporation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+var t = require('ripple/platform/tv/1.0/typedef'),
+ _MAX_INT_BITS = 53,
+ _MAX_INT = Math.pow(2, _MAX_INT_BITS) - 1,
+ _self;
+
+_self = function (pattern) {
+ var typeCoerce, typeOfPattern;
+
+ // private
+ function getExtendedType(val) {
+ var type = Object.prototype.toString.call(val), attr;
+
+ switch (type) {
+ case "[object Array]":
+ if ((typeof val[0] === "string") && (val[0].length > 0)) {
+ type = "enum";
+ } else {
+ type = "Union";
+ }
+ return type;
+
+ case "[object Object]":
+ if ("_dictionary" in val) {
+ return "dictionary";
+ }
+
+ type = "Object";
+
+ for (attr in val) {
+ if (attr === "0") {
+ type = "Arguments";
+ } else if (val[attr] === "Callback") {
+ type = "Callback";
+ }
+ break;
+ }
+
+ return type;
+ }
+
+ switch (val) {
+ case "Callback":
+ type = "Function";
+ break;
+
+ case "TZDate":
+ case "any":
+ case "byte":
+ case "float":
+ case "long":
+ case "long long":
+ case "octet":
+ case "short":
+ case "unsigned long":
+ case "unsigned long long":
+ case "unsigned short":
+ type = val;
+ break;
+
+ case "double":
+ type = "float";
+ break;
+
+ default: // Derivative type name: e.g., "AbstractFilter"
+ type = "";
+ break;
+ }
+
+ return type;
+ }
+
+ function getType(val, isPattern) {
+ var type = Object.prototype.toString.call(val);
+
+ switch (type) {
+ case "[object Array]":
+ type = (isPattern && (val.length > 1)) ? getExtendedType(val) :
+ "Array";
+ break;
+
+ case "[object Arguments]":
+ type = "Arguments";
+ break;
+
+ case "[object Boolean]":
+ type = "boolean";
+ break;
+
+ case "[object Date]":
+ type = "Date";
+ break;
+
+ case "[object Function]":
+ type = "Function";
+ break;
+
+ case "[object Number]":
+ type = "Number";
+ break;
+
+ case "[object Object]":
+ type = isPattern ? getExtendedType(val) : "Object";
+ break;
+
+ case "[object String]":
+ type = (isPattern && !!val) ? getExtendedType(val) : "DOMString";
+ break;
+ }
+
+ return type;
+ }
+
+ function isConstructed(obj) {
+ if (!("_constructor" in pattern))
+ return true;
+
+ if (obj instanceof window.tizen[pattern._constructor])
+ return true;
+
+ if ("_derived" in pattern)
+ return true;
+
+ return false;
+ }
+
+ function toInteger(x) {
+ return (x < 0) ? Math.ceil(x) : Math.floor(x);
+ }
+
+ function isBitsOverflowed(bits) {
+ return (bits >= _MAX_INT_BITS);
+ }
+
+ function toJsInt(x, isUnsigned) {
+ var min, max;
+
+ min = isUnsigned ? 0 : -_MAX_INT;
+ max = _MAX_INT;
+
+ if ((x < min) || (x > max))
+ return null;
+
+ return toInteger(x);
+ }
+
+ function modulo(a, b) {
+ return (a - Math.floor(a / b) * b);
+ }
+
+ function toInt(x, bits) {
+ var p;
+
+ x = Number(x);
+
+ if (isNaN(x) || !isFinite(x))
+ return null;
+
+ if (isBitsOverflowed(bits))
+ return toJsInt(x, false);
+
+ p = Math.pow(2, bits);
+ x = modulo(toInteger(x), p);
+
+ return (x >= Math.pow(2, bits - 1)) ? (x - p) : x;
+ }
+
+ function toUInt(x, bits) {
+ x = Number(x);
+
+ if (isNaN(x) || !isFinite(x))
+ return null;
+
+ if (isBitsOverflowed(bits))
+ return toJsInt(x, true);
+
+ return modulo(toInteger(x), Math.pow(2, bits));
+ }
+
+ function toInt8(x) {
+ return toInt(x, 8);
+ }
+
+ function toInt16(x) {
+ return toInt(x, 16);
+ }
+
+ function toInt32(x) {
+ return toInt(x, 32);
+ }
+
+ function toInt64(x) {
+ return toInt(x, 64);
+ }
+
+ function toUInt8(x) {
+ return toUInt(x, 8);
+ }
+
+ function toUInt16(x) {
+ return toUInt(x, 16);
+ }
+
+ function toUInt32(x) {
+ return toUInt(x, 32);
+ }
+
+ function toUInt64(x) {
+ return toUInt(x, 64);
+ }
+
+ // public
+ function cast(obj) {
+ var typeMap,
+ typeOfObj = getType(obj, false);
+
+ typeMap = {
+ "Arguments": function () {
+ var i, isNullable, ret;
+
+ for (i in pattern) {
+ if (i === "_optional")
+ continue;
+
+ isNullable = !!(pattern._optional && pattern._optional[i]);
+
+ if (i > obj.length - 1) {
+ if (!isNullable) {
+ return null;
+ }
+ break;
+ }
+
+ if (!isNullable || (obj[i] !== null)) {
+ ret = _self(pattern[i]).cast(obj[i]);
+ if (ret === null) {
+ return null;
+ }
+ obj[i] = ret;
+ }
+ }
+
+ return obj;
+ },
+
+ "Array": function () {
+ var elementType, i, ret;
+
+ if (typeOfObj !== typeOfPattern) {
+ return null;
+ }
+
+ elementType = _self(pattern[0]);
+ for (i in obj) {
+ ret = elementType.cast(obj[i]);
+ if (ret === null) {
+ return null;
+ }
+ obj[i] = ret;
+ }
+
+ return obj;
+ },
+
+ "Callback": function () {
+ var attr;
+
+ if (typeOfObj !== "Object") {
+ return null;
+ }
+
+ for (attr in pattern) {
+ if (attr in obj) {
+ obj[attr] = _self(pattern[attr]).cast(obj[attr]);
+ if (obj[attr] === null) {
+ return null;
+ }
+ }
+ }
+
+ return obj;
+ },
+
+ "DOMString": function () {
+ switch (typeOfObj) {
+ case "DOMString":
+ case "Date":
+ case "Number":
+ case "boolean":
+ obj = String(obj);
+ break;
+
+ default:
+ if ((obj === null) || (obj === undefined)) {
+ obj = String(obj);
+ } else {
+ obj = null;
+ }
+ break;
+ }
+
+ return obj;
+ },
+
+ "Date": function () {
+ return (typeOfObj === typeOfPattern) ? obj : null;
+ },
+
+ "Function": function () {
+ return (typeOfObj === typeOfPattern) ? obj : null;
+ },
+
+ "Object": function () {
+ var ret, attr, i;
+
+ if (typeOfObj !== typeOfPattern) {
+ if ((obj === null) || (obj === undefined)) {
+ return null;
+ }
+ if (!("_derived" in pattern)) {
+ return null;
+ }
+ }
+
+ if (!isConstructed(obj)) {
+ return null;
+ }
+
+ for (attr in pattern) {
+ switch (attr) {
+ case "_optional":
+ case "_constructor":
+ break;
+
+ case "_derived":
+ for (i in pattern._derived) {
+ ret = _self(pattern._derived[i]).cast(obj);
+ if (ret !== null)
+ break;
+ }
+ if (ret === null) {
+ if ("_constructor" in pattern)
+ break;
+
+ return null;
+ }
+ break;
+
+ default:
+ if (!pattern._optional || !pattern._optional[attr] ||
+ (obj[attr] !== undefined) &&
+ (obj[attr] !== null)) {
+ ret = _self(pattern[attr]).cast(obj[attr]);
+ if (ret === null) {
+ return null;
+ }
+ obj[attr] = ret;
+ }
+ break;
+ }
+ }
+
+ return obj;
+ },
+
+ "TZDate": function () {
+ if (typeOfObj !== "Object") {
+ return null;
+ }
+ return (obj instanceof window.tizen.TZDate) ? obj : null;
+ },
+
+ "Union": function () {
+ var ret, i;
+
+ for (i in pattern) {
+ ret = _self(pattern[i]).cast(obj);
+ if (ret !== null)
+ break;
+ }
+
+ return ret;
+ },
+
+ "any": function () {
+ return obj;
+ },
+
+ "boolean": function () {
+ return (typeOfObj === typeOfPattern) ? obj : null;
+ },
+
+ "byte": function () {
+ return toInt8(obj);
+ },
+
+ "dictionary": function () {
+ var attr, ret;
+
+ if (typeOfObj !== "Object") {
+ return null;
+ }
+
+ for (attr in pattern) {
+ switch (attr) {
+ case "_dictionary":
+ if (pattern._dictionary !== null) {
+ ret = _self(pattern._dictionary).cast(obj);
+ if (ret === null) {
+ return null;
+ }
+ }
+ break;
+
+ default:
+ if ((attr in obj) && (obj[attr] !== null) &&
+ (obj[attr] !== undefined)) {
+ ret = _self(pattern[attr]).cast(obj[attr]);
+ if (ret === null) {
+ return null;
+ }
+ obj[attr] = ret;
+ }
+ break;
+ }
+ }
+
+ return obj;
+ },
+
+ "enum": function () {
+ var i;
+
+ obj = String(obj).trim();
+ for (i in pattern) {
+ if (obj === pattern[i]) {
+ return obj;
+ }
+ }
+
+ return null;
+ },
+
+ "float": function () {
+ var f = parseFloat(obj, 10);
+
+ return (isNaN(f) ? null : f);
+ },
+
+ "long": function () {
+ return toInt32(obj);
+ },
+
+ "long long": function () {
+ return toInt64(obj);
+ },
+
+ "octet": function () {
+ return toUInt8(obj);
+ },
+
+ "short": function () {
+ return toInt16(obj);
+ },
+
+ "unsigned long": function () {
+ return toUInt32(obj);
+ },
+
+ "unsigned long long": function () {
+ return toUInt64(obj);
+ },
+
+ "unsigned short": function () {
+ return toUInt16(obj);
+ },
+
+ "": function () {
+ return _self(t[pattern]).cast(obj);
+ }
+ };
+
+ return typeMap[typeOfPattern]();
+ }
+
+ function copy(obj) {
+ var typeMap,
+ typeOfObj = getType(obj, false);
+
+ typeMap = {
+ "Arguments": function () {
+ var i, isNullable, ret = [];
+
+ for (i in pattern) {
+ if (i === "_optional")
+ continue;
+
+ isNullable = !!(pattern._optional && pattern._optional[i]);
+
+ if (i > obj.length - 1) {
+ if (!isNullable) {
+ return null;
+ }
+ break;
+ }
+
+ if (!isNullable || (obj[i] !== null)) {
+ ret[i] = _self(pattern[i]).copy(obj[i]);
+ if (ret[i] === null) {
+ return null;
+ }
+ }
+ }
+
+ for (i in ret) {
+ obj[i] = ret[i];
+ }
+
+ return obj;
+ },
+
+ "Array": function () {
+ var arr = [], elementType, i;
+
+ if (typeOfObj !== typeOfPattern) {
+ return null;
+ }
+
+ elementType = _self(pattern[0]);
+ for (i in obj) {
+ if (obj[i] !== undefined) {
+ arr[i] = elementType.copy(obj[i]);
+ if (arr[i] === null)
+ return null;
+ }
+ }
+
+ return arr;
+ },
+
+ "Callback": function () {
+ var ret = {}, attr;
+
+ if (typeOfObj !== "Object") {
+ return null;
+ }
+
+ for (attr in pattern) {
+ if (attr in obj) {
+ ret[attr] = _self(pattern[attr]).copy(obj[attr]);
+ if (ret[attr] === null) {
+ return null;
+ }
+ }
+ }
+
+ return ret;
+ },
+
+ "Object": function () {
+ var ret = {}, attr, i, derived;
+
+ if (typeOfObj !== typeOfPattern) {
+ if ((obj === null) || (obj === undefined)) {
+ return null;
+ }
+ if (!("_derived" in pattern)) {
+ return null;
+ }
+ }
+
+ if (!isConstructed(obj)) {
+ return null;
+ }
+ if ("_constructor" in pattern) {
+ ret.__proto__ = window.tizen[pattern._constructor].prototype;
+ }
+
+ for (attr in pattern) {
+ switch (attr) {
+ case "_optional":
+ case "_constructor":
+ break;
+
+ case "_derived":
+ for (i in pattern._derived) {
+ derived = _self(pattern._derived[i]).copy(obj);
+ if (derived !== null)
+ break;
+ }
+ if (derived === null) {
+ if ("_constructor" in pattern)
+ break;
+
+ return null;
+ }
+ for (attr in derived) {
+ ret[attr] = derived[attr];
+ }
+ break;
+
+ default:
+ if (!pattern._optional || !pattern._optional[attr] ||
+ (obj[attr] !== undefined) &&
+ (obj[attr] !== null)) {
+ ret[attr] = _self(pattern[attr]).copy(obj[attr]);
+ if (ret[attr] === null) {
+ return null;
+ }
+ }
+ break;
+ }
+ }
+
+ return ret;
+ },
+
+ "Union": function () {
+ var ret, i;
+
+ for (i in pattern) {
+ ret = _self(pattern[i]).copy(obj);
+ if (ret !== null)
+ break;
+ }
+
+ return ret;
+ },
+
+ "dictionary": function () {
+ var ret = {}, attr, base, i;
+
+ if (typeOfObj !== "Object") {
+ return null;
+ }
+
+ for (attr in pattern) {
+ switch (attr) {
+ case "_dictionary":
+ if (pattern._dictionary !== null) {
+ base = _self(pattern._dictionary).copy(obj);
+ if (base === null) {
+ return null;
+ }
+ for (i in base) {
+ ret[i] = base[i];
+ }
+ }
+ break;
+
+ default:
+ if ((attr in obj) && (obj[attr] !== null) &&
+ (obj[attr] !== undefined)) {
+ ret[attr] = _self(pattern[attr]).copy(obj[attr]);
+ if (ret[attr] === null) {
+ return null;
+ }
+ }
+ break;
+ }
+ }
+
+ return ret;
+ },
+
+ "": function () {
+ return _self(t[pattern]).copy(obj);
+ }
+ };
+
+ return (typeOfPattern in typeMap) ? typeMap[typeOfPattern]() :
+ cast(obj);
+ }
+
+ function match(obj) {
+ var typeMap,
+ typeOfObj = getType(obj, false);
+
+ typeMap = {
+ "Array": function () {
+ var elementType, i;
+
+ if (typeOfObj !== typeOfPattern)
+ return false;
+
+ elementType = _self(pattern[0]);
+ for (i in obj) {
+ if (!elementType.match(obj[i])) {
+ return false;
+ }
+ }
+
+ return true;
+ },
+
+ "Callback": function () {
+ var attr, isMatched = true;
+
+ if (typeOfObj !== "Object") {
+ return false;
+ }
+
+ for (attr in pattern) {
+ if (attr in obj) {
+ isMatched = _self(pattern[attr]).match(obj[attr]);
+ if (!isMatched) {
+ break;
+ }
+ }
+ }
+
+ return isMatched;
+ },
+
+ "DOMString": function () {
+ return (typeOfObj === typeOfPattern);
+ },
+
+ "Date": function () {
+ return (typeOfObj === typeOfPattern);
+ },
+
+ "Function": function () {
+ return (typeOfObj === typeOfPattern);
+ },
+
+ "Object": function () {
+ var attr, isMatched = false, i;
+
+ if (typeOfObj !== typeOfPattern) {
+ if ((obj === null) || (obj === undefined)) {
+ return false;
+ }
+ if (!("_derived" in pattern)) {
+ return false;
+ }
+ return false;
+ }
+
+ if (!isConstructed(obj)) {
+ return false;
+ }
+
+ for (attr in pattern) {
+ switch (attr) {
+ case "_optional":
+ case "_constructor":
+ break;
+
+ case "_derived":
+ for (i in pattern._derived) {
+ isMatched = _self(pattern._derived[i]).match(obj);
+ if (isMatched)
+ break;
+ }
+ break;
+
+ default:
+ if (pattern._optional && pattern._optional[attr]) {
+ isMatched = ((obj[attr] === null) ||
+ (obj[attr] === undefined) ||
+ _self(pattern[attr]).match(obj[attr]));
+ } else {
+ isMatched = (obj[attr] !== undefined) &&
+ _self(pattern[attr]).match(obj[attr]);
+ }
+ break;
+ }
+
+ if (!isMatched)
+ break;
+ }
+
+ /*// Check if verbose attributes are present
+ if (isMatched) {
+ for (attr in obj) {
+ if (pattern[attr] === undefined) {
+ isMatched = false;
+ break;
+ }
+ }
+ }*/
+
+ return isMatched;
+ },
+
+ "Union": function () {
+ var isMatched, i;
+
+ for (i in pattern) {
+ isMatched = _self(pattern[i]).match(obj);
+ if (isMatched)
+ break;
+ }
+
+ return isMatched;
+ },
+
+ "any": function () {
+ return true;
+ },
+
+ "boolean": function () {
+ return (typeOfObj === typeOfPattern);
+ },
+
+ "byte": function () {
+ return (obj === toInt8(obj));
+ },
+
+ "dictionary": function () {
+ var attr, isMatched = true;
+
+ if (typeOfObj !== "Object") {
+ return false;
+ }
+
+ for (attr in pattern) {
+ switch (attr) {
+ case "_dictionary":
+ if (pattern._dictionary !== null) {
+ isMatched = _self(pattern._dictionary).match(obj);
+ if (!isMatched)
+ break;
+ }
+ break;
+
+ default:
+ if ((attr in obj) && (obj[attr] !== null) &&
+ (obj[attr] !== undefined)) {
+ isMatched = _self(pattern[attr]).match(obj[attr]);
+ if (!isMatched)
+ break;
+ }
+ break;
+ }
+ }
+
+ return isMatched;
+ },
+
+ "enum": function () {
+ for (var i in pattern) {
+ if (obj === pattern[i]) {
+ return true;
+ }
+ }
+
+ return false;
+ },
+
+ "float": function () {
+ return (typeOfObj === "Number");
+ },
+
+ "long": function () {
+ return (obj === toInt32(obj));
+ },
+
+ "long long": function () {
+ return (obj === toInt64(obj));
+ },
+
+ "octet": function () {
+ return (obj === toUInt8(obj));
+ },
+
+ "short": function () {
+ return (obj === toInt16(obj));
+ },
+
+ "unsigned long": function () {
+ return (obj === toUInt32(obj));
+ },
+
+ "unsigned long long": function () {
+ return (obj === toUInt64(obj));
+ },
+
+ "unsigned short": function () {
+ return (obj === toUInt16(obj));
+ },
+
+ "Arguments": function () {
+ return true;
+ },
+
+ "": function () {
+ return _self(t[pattern]).match(obj);
+ }
+ };
+
+ return typeMap[typeOfPattern]();
+ }
+
+ typeOfPattern = getType(pattern, true);
+
+ typeCoerce = {
+ cast: cast,
+ copy: copy,
+ match: match
+ };
+
+ return typeCoerce;
+};
+
+module.exports = _self;
+
+});
+define('ripple/platform/tv/1.0/typedef', function (require, exports, module) {
+/*
+ * Copyright 2014 Intel Corporation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+var _t, _c, _i;
+
+/*
+ * Primitive type definition
+ */
+
+_t = {
+ // Basic
+ Callback: "Callback",
+ DOMString: "",
+ Date: new Date(),
+ Function: function () {},
+ TZDate: "TZDate",
+ any: "any",
+ boolean: false,
+ byte: "byte",
+ double: "double",
+ float: "float",
+ long: "long",
+ octet: "octet",
+ short: "short",
+ long_long: "long long",
+ unsigned_long: "unsigned long",
+ unsigned_long_long: "unsigned long long",
+ unsigned_short: "unsigned short"
+};
+
+/*
+ * Derivative type definition
+ */
+
+/*
+ * Object attributes
+ * Contruct a prototype of an object. Specify a primitive type for each attribute.
+ *
+ * _optional
+ * Optional attributes table, which consists of two types of attributes,
+ *
+ * nullable
+ * Nullable attributes, marked as '?' in IDL.
+ *
+ * undefined
+ * Array type attributes, that not definitely specified to be
+ * initialized as an empty array, i.e., undefined-initialized array.
+ *
+ * _derived
+ * Derived types, which used in two cases of definition,
+ *
+ * Subtype list
+ * An array consists of derived subtypes. It exists in the definition of
+ * a base type.
+ *
+ * Union types
+ * An array consists of member types. It exists in the definition of
+ * a union type.
+ *
+ * _dictionary
+ * Dictionary type, which indicates that the object is a dictionary type.
+ */
+
+/*
+ * Constructor list definition
+ */
+
+/*
+ * Generic constructor
+ * Construct a prototype of constructor. A fake array of arguments type is
+ * specified for constructor.
+ *
+ * Overloaded constructors
+ * Construct an array of prototype of constructor. Each array element is
+ * specified for one of constructors. The constructor with extra arguments
+ * are recommended to be defined ahead of the one with fewer same arguments
+ * for exact match.
+ */
+
+_c = {};
+
+/*
+ * Interface prototype definition
+ */
+
+_i = {};
+
+// Exports
+_t.constructor = _c;
+_t.interface = _i;
+
+module.exports = _t;
+
+});
define('ripple/platform/w3c/1.0/Acceleration', function (require, exports, module) {
module.exports = function (x, y, z) {
return {
if (uriParams && uriParams.platform) {
var platformName = uriParams.platform.split("-")[0], platformVersion;
- if (platformName === "mobile" || platformName === "tizen") {
- platformName = "tizen";
- platformVersion = "2.0";
+ if (platformName === "ivi") {
+ platformName = "ivi";
+ platformVersion = "3.0";
}
else if (platformName === "wearable") {
platformName = "wearable";
platformVersion = "2.0";
}
+ else if (platformName === "tv") {
+ platformName = "tv";
+ platformVersion = "1.0";
+ }
else {
- platformName = "ivi";
- platformVersion = "3.0";
+ platformName = "tizen";
+ platformVersion = "2.0";
}
platform.name = platformName;
platform.version = platformVersion;
}
}
- if (platformId === "mobile" || platformId === "tizen") {
- platformId = "tizen";
- version = "2.0";
+ if (platformId === "ivi") {
+ platformId = "ivi";
+ version = "3.0";
}
else if (platformId === "wearable") {
platformId = "wearable";
version = "2.0";
}
+ else if (platformId === "tv") {
+ platformId = "tv";
+ version = "1.0";
+ }
else {
- platformId = "ivi";
- version = "3.0";
+ platformId = "tizen";
+ version = "2.0";
}
platform.changeEnvironment({
$("#overlayBackground").css("height", $(window).height());
});
- if (jQuery("#platform-select").val() === "ivi" || jQuery("#platform-select").val() === "wearable") {
+ if (jQuery("#platform-select").val() === "ivi" ||
+ jQuery("#platform-select").val() === "wearable" ||
+ jQuery("#platform-select").val() === "tv") {
jQuery("#configuration-window-save-btn").hide();
jQuery("#configuration-window-load-btn").hide();
tooltip.create("#history-reload", "Reload Application");
tooltip.create("#options-button-history", "History");
tooltip.create("#options-button-config-window", "Configuration");
+ tooltip.create("#options-button-preview-window", "Preview");
tooltip.create("#options-button-panels", "Panel Settings");
tooltip.create("#options-button-about", "About");
},
devicesSelect.appendChild(deviceNode);
});
- if (platformID === "ivi" || platformID === "wearable") {
+ if (platformID === "ivi" || platformID === "wearable" || platformID === "tv") {
jQuery("#configuration-window-save-btn").hide();
jQuery("#configuration-window-load-btn").hide();
};
});
+define('ripple/ui/plugins/previewWindow', function (require, exports, module) {
+/*
+ * Copyright 2014 Intel Corporation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+var platform = require("ripple/platform"),
+ devices = require("ripple/devices"),
+ LIMIT_SIZE = 230, ROW_COUNT = 3, ROW_TOP = 40,
+ previewSource, deviceResolutions,
+ oldContainer, oldLeft, oldTop, oldScale,
+ previewContainer, prevLeft,
+ rowIndex, rowNum, currentRowIndex, containerArr;
+
+function getAbsoluteURI(base, relative) {
+ var stack = base.split("/"),
+ parts = relative.split("/"),
+ i;
+
+ stack.pop();
+ for (i = 0; i < parts.length; i++) {
+ if (parts[i] === ".")
+ continue;
+ if (parts[i] === "..")
+ stack.pop();
+ else
+ stack.push(parts[i]);
+ }
+
+ return stack.join("/");
+}
+
+function _readPreviewSourceHtml() {
+ var resource = document.getElementById("document"),
+ links, linkHref,
+ images, imgSrc,
+ sources, sourceSrc,
+ scripts, i, src;
+
+ previewSource = resource.contentDocument.cloneNode(true);
+ src = previewSource.documentURI;
+ links = previewSource.getElementsByTagName("link");
+ images = previewSource.getElementsByTagName("img");
+ sources = previewSource.getElementsByTagName("source");
+ scripts = previewSource.getElementsByTagName("script");
+ for (i = 0; i < links.length; i++) {
+ linkHref = links[i].getAttribute("href");
+ if (!linkHref)
+ continue;
+ if (linkHref.indexOf("file://") === 0 ||
+ linkHref.indexOf("http://") === 0)
+ continue;
+ previewSource.getElementsByTagName("link")[i].setAttribute("href",
+ getAbsoluteURI(src, linkHref));
+ }
+ for (i = 0; i < images.length; i++) {
+ imgSrc = images[i].getAttribute("src");
+ if (!imgSrc)
+ continue;
+ if (imgSrc.indexOf("file://") === 0 ||
+ imgSrc.indexOf("http://") === 0 ||
+ imgSrc.indexOf("data:") === 0)
+ continue;
+ previewSource.getElementsByTagName("img")[i].setAttribute("src",
+ getAbsoluteURI(src, imgSrc));
+ }
+ for (i = 0; i < sources.length; i++) {
+ sourceSrc = sources[i].getAttribute("src");
+ if (!sourceSrc)
+ continue;
+ if (sourceSrc.indexOf("file://") === 0 ||
+ sourceSrc.indexOf("http://") === 0)
+ continue;
+ previewSource.getElementsByTagName("source")[i].setAttribute("src",
+ getAbsoluteURI(src, sourceSrc));
+ }
+ while (scripts.length > 0) {
+ previewSource.getElementsByTagName("script")[0].remove();
+ }
+}
+
+function _createPreviewLayout(container, width, height) {
+ var frameId = container.id.replace("container", "preview"),
+ frame = document.createElement("iframe"),
+ frameContent;
+
+ container.appendChild(frame);
+ frame.setAttribute("id", frameId);
+ //frame.setAttribute("src", previewSource.documentURI);
+ frame.setAttribute("src", "");
+ $(frame).css("width", width + "px");
+ $(frame).css("height", height + "px");
+
+ frameContent = frame.contentDocument;
+ frameContent.open();
+ frameContent.writeln(previewSource.documentElement.outerHTML);
+ frameContent.close();
+}
+
+function _showPreviewField(container, width, height, title) {
+ var suffix = title.replace(/\s/g, "").replace("(", "").replace(")", ""),
+ containerId = "table" + suffix,
+ containerField = $("<table></table>"),
+ containerLeft = prevLeft,
+ containerTop = ROW_TOP,
+ containerScale = 1,
+ template = '<tr><td>' +
+ '<div style="background-color: #dddddd; height: 25px; width: 100%; border: 1px solid #888888;">' +
+ '<span style="margin-top:3px; margin-left:20px;">#TITLE</span></div>' +
+ '</td></tr><tr><td>' +
+ '<div id="container#SUFFIX" style="margin: 0; border: 10px solid #000000;"></div>' +
+ '<input type="hidden" id="scale#SUFFIX" value="#SCALE" />' +
+ '<input type="hidden" id="left#SUFFIX" value="#LEFT" />' +
+ '<input type="hidden" id="top#SUFFIX" value="#TOP" />' +
+ '<div class="preview-window-table-layout" style="position: absolute; width: 100%; height: 100%; left: 0; top: 18px; opacity: 0.5;"></div>' +
+ '</td></tr>',
+ iframeContainer;
+
+ containerScale = (width > LIMIT_SIZE) ? Math.floor((LIMIT_SIZE / width) * 100) / 100 : 1;
+ previewContainer.append(containerField);
+ containerField.html(template.replace(/#SUFFIX/g, suffix)
+ .replace(/#TITLE/g, title)
+ .replace(/#SCALE/g, containerScale)
+ .replace(/#LEFT/g, containerLeft)
+ .replace(/#TOP/g, containerTop));
+ containerField.attr("id", containerId);
+ containerField.css({
+ "left": containerLeft + "px",
+ "top": containerTop + "px",
+ '-webkit-transform-origin': '0% 0%',
+ '-webkit-transform': "translate(0px, 0px) rotate(0deg) scale(" + containerScale + ")"
+ });
+
+ containerArr.push(containerId);
+ if (rowIndex > 2) {
+ containerField.css({"display": "none"});
+ currentRowIndex = 0;
+ }
+
+ rowIndex++;
+ if (rowIndex % ROW_COUNT === 0) {
+ prevLeft = 20;
+ }
+ else {
+ prevLeft = containerLeft + LIMIT_SIZE + 20;
+ }
+
+ iframeContainer = document.getElementById("container" + suffix);
+ _createPreviewLayout(iframeContainer, width, height);
+}
+
+function _showPreviewLayouts() {
+ var deviceName,
+ container = document.getElementById("preview-window-container-div");
+
+ for (deviceName in deviceResolutions) {
+ _showPreviewField(container, deviceResolutions[deviceName].width,
+ deviceResolutions[deviceName].height, deviceName);
+ }
+}
+
+function _initializeDeviceResolutions() {
+ var platforms = platform.getList(),
+ platformId,
+ platformDevices,
+ i, count = 0;
+
+ deviceResolutions = {};
+ for (platformId in platforms) {
+ platformDevices = devices.getDevicesForPlatform(platformId);
+ for (i = 0; i < platformDevices.length; i++) {
+ count++;
+ deviceResolutions[platformDevices[i].name] = {
+ width: platformDevices[i].viewPort.portrait.width,
+ height: platformDevices[i].viewPort.portrait.height
+ };
+ }
+ }
+ rowNum = Math.ceil(count / ROW_COUNT);
+}
+
+function _bindEventsForPreviewWindow() {
+ $("#preview-window-close-btn").unbind("click");
+ $("#preview-window-close-btn").bind("click", function (event) {
+ $("#preview-window-popup").hide("slide", {direction: "up"}, "slow" ,function () {
+ previewContainer.html("");
+ $("#overlayBackground").hide();
+ });
+
+ event.preventDefault();
+ });
+
+ $("#preview-window-container-div table").unbind("click");
+ $("#preview-window-container-div table").bind("click", function (event) {
+ var containers = $("#preview-window-container-div table"),
+ container = $(this),
+ containerId = container.attr("id"),
+ scaleId = containerId.replace("table", "scale"),
+ leftId = containerId.replace("table", "left"),
+ topId = containerId.replace("table", "top");
+
+ oldLeft = container.find("#" + leftId).val();
+ oldTop = container.find("#" + topId).val();
+ oldScale = container.find("#" + scaleId).val();
+ oldContainer = containerId;
+ containers.find(".preview-window-table-layout").css("background", "");
+ container.find(".preview-window-table-layout").css("background", "#000000");
+
+ event.preventDefault();
+ });
+
+ $("#preview-window-preview-btn").unbind("click");
+ $("#preview-window-preview-btn").bind("click", function (event) {
+ var containerId = oldContainer;
+ if (!containerId)
+ return;
+
+ $("#preview-window-container-div table").hide();
+
+ $("#" + containerId).css('left', '0px');
+ $("#" + containerId).css('top', '0px');
+ $("#" + containerId).find(".preview-window-table-layout").css("background", "");
+ $("#" + containerId).css('-webkit-transform-origin', '0% 0%');
+ $("#" + containerId).css('-webkit-transform', "translate(0px, 0px) rotate(0deg) scale(1)");
+ $("#" + containerId).show();
+
+ $("#preview-window-preview-btn").hide();
+ $("#preview-window-container-bar").hide();
+ $("#preview-window-back-btn").show();
+ $("#preview-window-scale-range").show();
+ $("#preview-window-scale-range").val(100);
+ $("#preview-window-popup .preview-window-scale-num").show();
+ $("#preview-window-popup .preview-window-scale-num").text("100%");
+
+ event.preventDefault();
+ });
+
+ $("#preview-window-scale-range").unbind("change");
+ $("#preview-window-scale-range").bind("change", function (event) {
+ var containerId = oldContainer,
+ nScale = Number($(this).val());
+
+ $("#" + containerId).css('-webkit-transform', "translate(0px, 0px) rotate(0deg) scale(" + nScale / 100 + ")");
+ $("#preview-window-popup .preview-window-scale-num").text(nScale + "%");
+
+ event.preventDefault();
+ });
+
+ $("#preview-window-back-btn").unbind("click");
+ $("#preview-window-back-btn").bind("click", function (event) {
+ var containerId = oldContainer, i;
+
+ $("#" + containerId).css('left', oldLeft + "px");
+ $("#" + containerId).css('top', oldTop + "px");
+ $("#" + containerId).find(".preview-window-table-layout").css("background", "#000000");
+ $("#" + containerId).css('-webkit-transform-origin', '0% 0%');
+ $("#" + containerId).css('-webkit-transform', "translate(0px, 0px) rotate(0deg) scale(" + oldScale + ")");
+
+ $("#preview-window-container-div table").hide();
+ for (i = 0; i < ROW_COUNT; i++) {
+ if (containerArr.length >= i) {
+ $("#" + containerArr[currentRowIndex * ROW_COUNT + i]).show();
+ }
+ }
+
+ $("#preview-window-preview-btn").show();
+ $("#preview-window-container-bar").show();
+ $("#preview-window-back-btn").hide();
+ $("#preview-window-scale-range").hide();
+ $("#preview-window-popup .preview-window-scale-num").hide();
+
+ event.preventDefault();
+ });
+
+ $("#preview-window-container-bar").slider({
+ orientation: "vertical",
+ min: 0,
+ max: 100,
+ value: 100,
+ slide: function(event, ui) {
+ var rangeSize = 100 / rowNum, start, end, i;
+
+ for (i = 0; i < rowNum; i++) {
+ start = 100 - i * rangeSize;
+ end = (i + 1 < rowNum) ? (100 - (i + 1) * rangeSize) : 0;
+ if (start >= ui.value && end < ui.value) {
+ currentRowIndex = i;
+ }
+ }
+ $("#preview-window-container-div table").hide();
+ for (i = 0; i < ROW_COUNT; i++) {
+ if (containerArr.length >= i) {
+ $("#" + containerArr[currentRowIndex * ROW_COUNT + i]).show();
+ }
+ }
+ }
+ });
+}
+
+function _showPreviewWindow() {
+ var position_x;
+
+ position_x = (($(window).width() - 800) / 2) < 0 ? 0 : ($(window).width() - 800) / 2;
+ $("#preview-window-popup").css("top", 80);
+ $("#preview-window-popup").css("left", position_x);
+ $("#preview-window-popup").show("slide", {direction: "up"}, "slow" ,function () {
+ $("#overlayBackground").css("width", $(window).width());
+ $("#overlayBackground").css("height", $(window).height());
+ $("#overlayBackground").show("fade", "slow");
+ _showPreviewLayouts();
+ _bindEventsForPreviewWindow();
+ $("#preview-window-container-div table:first-child").trigger("click");
+ });
+}
+
+module.exports = {
+ initialize : function() {
+ previewContainer = $("#preview-window-container-div");
+ $("#options-button-preview-window").bind("click", function () {
+ previewContainer.html("");
+ $("#preview-window-preview-btn").show();
+ $("#preview-window-container-bar").show();
+ $("#preview-window-back-btn").hide();
+ $("#preview-window-scale-range").hide();
+ $("#preview-window-popup .preview-window-scale-num").hide();
+
+ prevLeft = 20;
+
+ oldLeft = oldTop = 0;
+ oldScale = 1;
+ oldContainer = null;
+
+ rowIndex = 0;
+ currentRowIndex = 0;
+ containerArr = [];
+
+ _initializeDeviceResolutions();
+ _readPreviewSourceHtml();
+ _showPreviewWindow();
+ });
+ }
+};
+
+});
define('ripple/ui/plugins/push', function (require, exports, module) {
/*
* Copyright 2011 Research In Motion Limited.
vehicleCache: {},
history: {},
notShowProperties: [
- "zone", "time", "source"
+ "timeStamp"
]
};
if (!isFill) {
html += '<tr class="vehicle-property-content">' +
- '<td class="vehicle-property-label">Time</td>' +
+ '<td class="vehicle-property-label">time</td>' +
'<td class="vehicle-property-value" id="vehicle-time-show">' + timeStamp + '</td></tr>';
for (property in data) {
_vehicleGlobalVars.currentDataIndex++;
}
-function _formatHistory (historyData, time, zone, source) {
+function _formatHistory (historyData, timeStamp) {
var format = {}, property, name, item, value;
for (property in historyData) {
if (!format[name]) {
format[name] = {};
- format[name].time = time;
- format[name].zone = zone;
- format[name].source = source;
+ format[name].timeStamp = timeStamp;
}
value = historyData[property];
autoContainer = jQuery("#vehicle-container #vehicle-running-show *[id$='-set']"),
supportedContainer = jQuery("#vehicle-container #vehicle-supported-hide *[id$='-supported']:checked"),
supported = [], currentConfig, configuration = [], setting = [], autoRunning = [],
- history = {}, itemKey, format, delTime, time, zone, source;
+ history = {}, itemKey, format, delTime, timeStamp;
supportedContainer.each(function (index, item) {
supported.push(item.value);
delete _vehicleGlobalVars.history[delTime];
}
- time = _vehicleGlobalVars.timeCurrent;
- source = "";
- zone = 0;
-
- format = _formatHistory(history, time, zone, source);
+ timeStamp = _vehicleGlobalVars.timeCurrent;
+ format = _formatHistory(history, timeStamp);
_vehicleGlobalVars.history[_vehicleGlobalVars.timeCurrent] = format;
event.trigger("vehicle-cache-refresh", [supported, format]);
+ _setVehicleHistory();
vehiclePanelEngine.saveData(supported, currentConfig, configuration, setting, autoRunning);
}
return;
}
- var value, status, time, history,
+ var value, status, timeStamp, history,
propertyObj = {};
if (_vehicleGlobalVars.vehicleCache.supported.indexOf(property) === -1) {
}
else {
history = _vehicleGlobalVars.history;
- time = _vehicleGlobalVars.timeCurrent;
+ timeStamp = _vehicleGlobalVars.timeCurrent;
- value = history[time][property];
- value.time = time;
+ value = history[timeStamp][property];
+ value.timeStamp = timeStamp;
status = true;
propertyObj.val = value;
});
event.on("vehicle-set-request", function (property, value) {
- var status = true, enums, showValue;
+ var enums, showID, showValue, showContainer, item,
+ enterID, enterContainer;
- for (var item in value) {
- var enterID = property + "-" + item + "-set";
- var showID = property + "-" + item + "-show";
- var enterContainer = jQuery("#vehicle-container #" + enterID);
- var showContainer = jQuery("#vehicle-container #" + showID);
+ for (item in value) {
+ enterID = property + "-" + item + "-set";
+ showID = property + "-" + item + "-show";
+ enterContainer = jQuery("#vehicle-container #" + enterID);
+ showContainer = jQuery("#vehicle-container #" + showID);
if (Object.prototype.toString.call(value[item]) === '[object Array]') {
enterContainer.val(value[item].join(","));
showContainer.html(showValue);
}
}
-
- event.trigger("vehicle-set-response", [status]);
});
+}
- event.on("vehicle-history-request", function (property, zone, startTime, endTime) {
- var history, historyResponse = [], obj, status, time;
-
- history = _vehicleGlobalVars.history;
+function _setVehicleHistory() {
+ var history = [], obj, timeStamp;
- for (time in history) {
- if (time >= startTime && time <= endTime &&
- history[time].hasOwnProperty(property)) {
- obj = history[time][property];
- obj.time = time;
- historyResponse.push(obj);
- }
+ for (timeStamp in _vehicleGlobalVars.history) {
+ obj = _vehicleGlobalVars.history[timeStamp];
+ obj.timeStamp = timeStamp;
+ history.push(obj);
}
- status = true;
- event.trigger("vehicle-history-response", [property, historyResponse, status]);
- });
+ event.trigger("vehicle-history-response", [history]);
}
function _initializeVehiclePanel () {
"themeSwitcher",
"settings-menu",
"configWindow",
+ "previewWindow",
"HWKeys"
//"launchingHistory"
],