Interface DeviceStatusManager
단말의 상태 정보를 질의하기 위한 인터페이스입니다.
| Constructor Attributes | Constructor Name and Description |
|---|---|
|
단말의 상태 정보를 질의하기 위한 인터페이스입니다. |
Method Summary
Interface Detail
단말의 상태 정보를 질의하기 위한 인터페이스입니다. 이 인터페이스는 단말의 현재 상태에 대한 값을 얻거나 상태의 변화를 지속적으로 통지 받기 위한 이벤트 구독을 제공합니다. 이 인터페이스는 DeviceStatusManager 인터페이스에 의해 deviceapis 객체의 속성으로 제공됩니다.
function onValueRetrieved(value) {
alert("The battery level is " + value);
}
deviceapis.devicestatus.getPropertyValue(
onValueRetrieved,
function(e){alert("An error occurred " + e.message);},
{property:"batteryLevel", aspect:"Battery"});
Method Detail
-
{void} clearPropertyChange(watchHandler)
상태 값의 변화에 대한 통지 이벤트 구독을 중지합니다. 이 함수가 호출되면 watchPropertyChange 함수의 호출로 시작된 상태 변화를 감시하는 작업과 이벤트 통지 구독이 중지됩니다. 매개변수 watchHandler는 watchPropertyChange 함수 호출에서 반환 받은 이벤트 구독 식별자입니다.
var id = null; function propertyChange(ref, value) { alert("New value for " + ref.property + " is " + value); if (id != null) // After receiving the first notification, we clear it devicestatus.clearPropertyChange(id); } id = deviceapis.devicestatus.watchPropertyChange(propertyChange, null,{property:"batteryLevel", aspect:"Battery"});- Parameters:
- {long} watchHandler
이벤트 구독 식별자
- Throws:
매개변수의 형식이 올바르지 않은 경우 TYPE_MISMATCH_ERR 오류 코드와 함께 발생됩니다.
- Returns:
- {void}
-
{StringArray} getComponents(aspect)
특정 aspect에 대해 모든 component들의 식별자를 반환합니다. 매개변수로 지정한 aspect에 해당하는 모든 component들의 식별자 목록을 제공합니다. WAC 어휘집에 정의되지 않은 aspect 식별자나 유효하지 않은 aspect 식별자를 지정한 경우에는 null을 반환합니다.
var displays = devicestatus.getComponents('Display');- Parameters:
- {DOMString} aspect
대상 aspect의 식별자.
- Throws:
매개변수의 형식이 올바르지 않은 경우 TYPE_MISMATCH_ERR 오류 코드와 함께 발생됩니다.
- Returns:
- {StringArray}
component들의 식별자 목록.
-
{PendingOperation} getPropertyValue(successCallback, errorCallback, prop)
지정된 property의 값을 반환합니다. 이 함수는 지정된 property에 대해 현재의 상태 값을 반환합니다. 매개변수 prop 객체의 속성 중 property와 aspect는 반드시 지정해야 하지만 component 속성은 생략 가능합니다. component 속성을 생략한 경우 활성 component(_active)를 우선 대상으로 하며 활성 component가 없다면 기본 component(_default)를 대상으로 합니다.
이 함수는 호출되면 즉시 제어권을 반환하고 비동기적으로 현재의 상태 값을 조사합니다. 상태 값을 조사하는 데 성공한 경우에는 속성 값을 매개변수로 successCallback 함수를 호출합니다
상태 값 조사에 실패하면 오류의 원인을 설명하는 DeviceAPIError 객체를 매개변수로 하여 (errorCallback 함수를 지정한 경우) errorCallback 함수를 호출합니다. 발생 가능한 에러 코드는 다음과 같습니다.
• NOT_SUPPORTED_ERR:이 피쳐가 지원되지 않는 경우
• SECURITY_ERR:이 연산이 허용되지 않는 경우.
• NOT_FOUND_ERR:유효하지 않은 property 식별자를 지정한 경우 (예를 들어 WAC의 어휘집에 정의되지 않은 property)
• NOT_AVAILABLE_ERR: 유효한 property 식별자를 지정했으나 현재의 상태 값을 알 수 없는 경우
• UNKNOWN_ERR:그 밖에 다른 모든 경우function onValueRetrieved(value){ alert("The battery level is " + value); } deviceapis.devicestatus.getPropertyValue( onValueRetrieved, function(e){alert("An error occurred " + e.message);}, {property:"batteryLevel", aspect:"Battery"});- Parameters:
- {PropertyValueSuccessCallback} successCallback
상태 값을 얻는데 성공한 경우 콜백으로 호출됩니다.
- {ErrorCallBack} errorCallback
상태 값을 얻는데 실패한 경우 콜백으로 호출됩니다.
- {PropertyRef} prop
대상이 되는 특정 속성에 대한 참조.
- Throws:
매개변수의 형식이 올바르지 않은 경우 TYPE_MISMATCH_ERR 오류 코드와 함께 발생됩니다.
- Returns:
- {PendingOperation}
비동기 방식으로 호출된 함수를 취소할 수 있는 PendingOperation 객체입니다.
-
{boolean} isSupported(aspect, property)
특정 property에 대해 지원 여부를 확인합니다.매개변수로 지정한 aspect와 property에 대해 지원되는 경우 true, 지원되지 않는 경우 false를 반환합니다. 만약 property 매개변수를 생략하거나 null로 지정한 경우 aspect에 대해서만 지원 여부를 확인합니다. 이 경우 aspect의 property들 중 하나라도 지원한다면 true, 반대의 경우에는 false를 반환합니다.
비록 WAC의 어휘집에 정의되어 있더라도 대상 단말과 대상 플랫폼에 따른 제약으로 인해 상태 정보를 얻을 수 없는 property도 있을 수 있습니다. 이러한 property들에 대해 getPropertyValue 함수를 호출한 경우에는 NOT_AVAILABLE_ERR를 반환합니다.function onValueRetrieved(value) { alert("The battery level is " + value); } if (deviceapis.devicestatus.isSupported('Battery','batteryLevel')) { deviceapis.devicestatus.getPropertyValue( onValueRetrieved, function(error){alert("An error occurred " + error.message), {property:"batteryLevel", aspect:"Battery"}); ); }- Parameters:
- {DOMString} aspect
대상 aspect의 식별자
- {DOMString} property
대상 property 식별자
- Throws:
매개변수의 형식이 올바르지 않은 경우 TYPE_MISMATCH_ERR 오류 코드와 함께 발생됩니다.
- Returns:
- {boolean}
대상 property와 aspect가 지원되는 경우 true를 지원되지 않는 경우 false를 반환합니다.
-
{long} watchPropertyChange(successCallback, errorCallback, prop, options)
상태 값의 변화를 지속적으로 통지 받기 위해 이벤트 구독을 시작합니다. 매개변수 prop 객체의 속성 중 property와 aspect는 반드시 지정해야 하지만 component 속성은 생략 가능합니다. component 속성을 생략한 경우 활성 component(_active)를 우선 대상으로 하며 활성 component가 없다면 기본 component(_default)를 대상으로 합니다. 이 함수가 호출되면 즉시 이벤트 구독 식별자를 반환한 후에 지정한 속성의 상태 변화를 감시하는 작업을 비동기적으로 시작합니다. 상태 변화를 감시하는 작업이 시작되면 지속적으로 상태 값을 포함하는 PropertyRef 객체를 매개변수로 하여 successCallback 함수가 호출됩니다. 상태 값을 감시하는 작업과 통지 이벤트 구독을 중지하려면 반환 받은 이벤트 구독 식별자를 매개변수로 하여 clearWatch 함수를 호출해야 합니다. options 매개변수를 이용하여 통지 이벤트의 발생 조건을 제어할 수 있습니다. 이 매개변수는 생략 가능합니다. 만약 상태 값의 변화를 감시하는 작업이 실패하면 오류의 원인을 설명하는 DeviceAPIError 객체를 매개변수로 하여 (errorCallback 함수를 지정한 경우) errorCallback 함수가 호출됩니다. 발생 가능한 에러 코드는 다음과 같습니다.
•NOT_SUPPORTED_ERR:이 피쳐가 지원되지 않는 경우
•SECURITY_ERR:이 연산이 허용되지 않는 경우
•NOT_FOUND_ERR:유효하지 않은 property 식별자를 지정한 경우 (예를 들어 WAC의 어휘집에 정의되지 않은 property)
•NOT_AVAILABLE_ERR:유효한 property 식별자를 지정했으나 현재의 상태 값을 알 수 없는 경우
•UNKNOWN_ERR:그 밖에 다른 모든 경우function propertyChange(ref, value) { alert("New value for " + ref.property + " is " + value); } deviceapis.devicestatus.watchPropertyChange(propertyChange, null {property:"batteryLevel", aspect:"Battery"});- Parameters:
- {PropertyChangeSuccessCallback} successCallback
속성 값의 변화를 알리기 위해 콜백으로 호출됩니다
- {ErrorCallBack} errorCallback
오류가 발생하면 콜백으로 호출됩니다.
- {PropertyRef} prop
대상이 되는 특정 속성에 대한 참조.
- {WatchOptions} options
통지 이벤트의 발생 조건에 대한 선택사항들을 속성으로 제공하는 객체
- Throws:
매개변수의 형식이 올바르지 않은 경우 TYPE_MISMATCH_ERR 오류 코드와 함께 발생됩니다.
- Returns:
- {long}
이벤트 구독 식별자
