개요
X-AGENT 서버와 통신할 수 있는 클라이언트 컴포넌트입니다.
지원 환경
Desktop NRE | Desktop WRE | |||||
|---|---|---|---|---|---|---|
☑ Windows | ☐ macOS | ☑ Edge | ☑ Chrome | ☐ Safari | ☑ Firefox | ☑ Opera |
Mobile NRE | Mobile WRE | |||||
☐ Android | ☐ iOS/iPadOS | ☐ Android | ☐ iOS/iPadOS | |||
속성
addport
X-AGENT 서버와 통신 실패 시 연결을 시도할 다른 포트의 범위를 설정합니다.
지원 환경
Desktop NRE | Desktop WRE | |||||
|---|---|---|---|---|---|---|
☑ Windows | ☐ macOS | ☑ Edge | ☑ Chrome | ☐ Safari | ☑ Firefox | ☑ Opera |
Mobile NRE | Mobile WRE | |||||
☐ Android | ☐ iOS/iPadOS | ☐ Android | ☐ iOS/iPadOS | |||
속성 타입
☐ Enum | ☐ Expr | ☐ Control | ☐ Hidden | ☐ ReadOnly | ☐ Bind | ☐ Collection | ☐ StringResource |
문법
XAgent.addport [=numAddPort]
문법 설정
this.XAgent00.addport = 3; | ||
numAddPort | X-AGENT 서버와 통신 실패 시 연결을 시도할 다른 포트 범위를 설정합니다. 속성값을 5로 설정한 경우 49020 포트(port 속성값)로 연결을 시도하고 실패 시 1씩 더한 값을 포트값으로 설정해 49021~49025 포트로 연결을 시도합니다. | |
|---|---|---|
참고
- addport 속성값을 설정하지 않으면 5로 적용됩니다.
adminapiurl
X-AGENT Admin API URL 정보를 설정합니다.
지원 환경
Desktop NRE | Desktop WRE | |||||
|---|---|---|---|---|---|---|
☑ Windows | ☐ macOS | ☑ Edge | ☑ Chrome | ☐ Safari | ☑ Firefox | ☑ Opera |
Mobile NRE | Mobile WRE | |||||
☐ Android | ☐ iOS/iPadOS | ☐ Android | ☐ iOS/iPadOS | |||
속성 타입
☐ Enum | ☐ Expr | ☐ Control | ☐ Hidden | ☐ ReadOnly | ☐ Bind | ☐ Collection | ☐ StringResource |
문법
XAgent.adminapiurl [=strAdminapiurl]
문법 설정
this.XAgent00.adminapiurl = "https://www.example.com/api/event"; | ||
strAdminapiurl | X-AGENT Admin API URL 정보를 설정합니다. | |
|---|---|---|
참고
- X-AGENT가 이벤트를 보고할 Admin 서버의 엔드포인트 주소입니다.
license
X-AGENT 서버의 라이선스를 설정합니다.
지원 환경
Desktop NRE | Desktop WRE | |||||
|---|---|---|---|---|---|---|
☑ Windows | ☐ macOS | ☑ Edge | ☑ Chrome | ☐ Safari | ☑ Firefox | ☑ Opera |
Mobile NRE | Mobile WRE | |||||
☐ Android | ☐ iOS/iPadOS | ☐ Android | ☐ iOS/iPadOS | |||
속성 타입
☐ Enum | ☐ Expr | ☐ Control | ☐ Hidden | ☐ ReadOnly | ☐ Bind | ☐ Collection | ☐ StringResource |
문법
XAgent.license [=strLicense]
문법 설정
this.XAgent00.license = "http://localhost:8080/license_xagent.xml"; this.XAgent00.license = "data:application/xml;base64,PD9ljZW5zZT4="; this.XAgent00.license = "file:///C:/license_xagent.xml"; this.XAgent00.license = "\server\share\license_xagent.xml"; | ||
strLicense | X-AGENT 서버의 라이선스를 설정합니다. | |
|---|---|---|
name
XAgent 의 이름을 설정하는 속성입니다.
지원 환경
Desktop NRE | Desktop WRE | |||||
|---|---|---|---|---|---|---|
☑ Windows | ☐ macOS | ☑ Edge | ☑ Chrome | ☐ Safari | ☑ Firefox | ☑ Opera |
Mobile NRE | Mobile WRE | |||||
☐ Android | ☐ iOS/iPadOS | ☐ Android | ☐ iOS/iPadOS | |||
속성 타입
☐ Enum | ☐ Expr | ☐ Control | ☑ Hidden | ☐ ReadOnly | ☐ Bind | ☐ Collection | ☐ StringResource |
문법
XAgent.name[= strName]
문법 설정
strName | 컴포넌트의 이름을 설정합니다. | |
|---|---|---|
참고
- name 속성은 사용자가 지정한 컴포넌트의 이름으로 논리적으로 중복이 가능합니다. - 넥사크로 스튜디오에서 컴포넌트를 생성하거나 id 값을 설정하면 name 속성에 동일한 값이 설정됩니다.
port
X-AGENT 서버와 통신할 포트를 설정합니다.
지원 환경
Desktop NRE | Desktop WRE | |||||
|---|---|---|---|---|---|---|
☑ Windows | ☐ macOS | ☑ Edge | ☑ Chrome | ☐ Safari | ☑ Firefox | ☑ Opera |
Mobile NRE | Mobile WRE | |||||
☐ Android | ☐ iOS/iPadOS | ☐ Android | ☐ iOS/iPadOS | |||
속성 타입
☐ Enum | ☐ Expr | ☐ Control | ☐ Hidden | ☐ ReadOnly | ☐ Bind | ☐ Collection | ☐ StringResource |
문법
XAgent.port [=numPort]
문법 설정
numPort | X-AGENT 서버와 통신할 포트를 설정합니다. | |
|---|---|---|
참고
- port 속성값을 설정하지 않으면 49020으로 적용됩니다.
project
X-AGENT 서버의 프로젝트명을 설정합니다.
지원 환경
Desktop NRE | Desktop WRE | |||||
|---|---|---|---|---|---|---|
☑ Windows | ☐ macOS | ☑ Edge | ☑ Chrome | ☐ Safari | ☑ Firefox | ☑ Opera |
Mobile NRE | Mobile WRE | |||||
☐ Android | ☐ iOS/iPadOS | ☐ Android | ☐ iOS/iPadOS | |||
속성 타입
☐ Enum | ☐ Expr | ☐ Control | ☐ Hidden | ☐ ReadOnly | ☐ Bind | ☐ Collection | ☐ StringResource |
문법
XAgent.project [=strProejct]
문법 설정
strProejct | X-AGENT 서버의 프로젝트명을 설정합니다. | |
|---|---|---|
protocol
X-AGENT 서버와 통신할 웹소켓 통신 프로토콜을 설정합니다.
지원 환경
Desktop NRE | Desktop WRE | |||||
|---|---|---|---|---|---|---|
☑ Windows | ☐ macOS | ☑ Edge | ☑ Chrome | ☐ Safari | ☑ Firefox | ☑ Opera |
Mobile NRE | Mobile WRE | |||||
☐ Android | ☐ iOS/iPadOS | ☐ Android | ☐ iOS/iPadOS | |||
속성 타입
☐ Enum | ☐ Expr | ☐ Control | ☐ Hidden | ☐ ReadOnly | ☐ Bind | ☐ Collection | ☐ StringResource |
문법
XAgent.protocol [=enumProtocol]
문법 설정
enumProtocol ::= 'ws' | 'wss' | ||
"ws" | WebSocket | |
|---|---|---|
"wss" | WebSocket Secure | |
참고
- protocol 속성값을 설정하지 않으면 "ws"로 적용됩니다.
updateurl
X-AGENT 모듈 업데이트 URL 정보를 설정합니다.
지원 환경
Desktop NRE | Desktop WRE | |||||
|---|---|---|---|---|---|---|
☑ Windows | ☐ macOS | ☑ Edge | ☑ Chrome | ☐ Safari | ☑ Firefox | ☑ Opera |
Mobile NRE | Mobile WRE | |||||
☐ Android | ☐ iOS/iPadOS | ☐ Android | ☐ iOS/iPadOS | |||
속성 타입
☐ Enum | ☐ Expr | ☐ Control | ☐ Hidden | ☐ ReadOnly | ☐ Bind | ☐ Collection | ☐ StringResource |
문법
XAgent.updateurl [=strUpdateurl]
문법 설정
strUpdateurl | X-AGENT 모듈 업데이트 URL 정보를 설정합니다. | |
|---|---|---|
메서드
configure
X-AGENT 프로젝트 설정을 요청하는 메서드입니다.
지원 환경
Desktop NRE | Desktop WRE | |||||
|---|---|---|---|---|---|---|
☑ Windows | ☐ macOS | ☑ Edge | ☑ Chrome | ☐ Safari | ☑ Firefox | ☑ Opera |
Mobile NRE | Mobile WRE | |||||
☐ Android | ☐ iOS/iPadOS | ☐ Android | ☐ iOS/iPadOS | |||
문법
XAgent.configure(strProject, strLicense, strUpdateUrl, strAdminApiUrl)
파라미터
Parameters | Type | Description | |
|---|---|---|---|
strProject | String | X-AGENT 서버 프로젝트 이름 | |
strLicense | String | X-AGENT 서버 라이선스 | |
strUpdateUrl | String | X-AGENT 모듈 업데이트 URL 정보 | |
strAdminApiUrl | String | X-AGENT Admin API URL 정보 | |
var strProject = "com.nexacro.xagent" var strLicense = "http://localhost:8080/license_xagent.xml" var strUpdateUrl = "http://www.localhost:8080/xagent_update/" var strAdminApiUrl = "http://www.localhost:8080/xagent_admin_api/event/" this.XAgent00.configure(strProject, strLicense, strUpdateUrl, strAdminApiUrl); | |||
참고
- 성공 시 onsuccess, 실패 시 onerror 이벤트가 발생합니다. - 메서드가 정상적으로 실행되면 아래 경로에 project.json 파일이 생성됩니다. C:\Users\%USERNAME%\AppData\LocalLow\TOBESOFT\X-AGENT\Projects\[프로젝트명]\project.json - 메서드 실행 시 파라미터값은 project, license, updateurl, adminapiurl 속성값을 변경하지는 않습니다.
connect
X-AGENT 서버와 연결을 요청하는 메서드입니다.
지원 환경
Desktop NRE | Desktop WRE | |||||
|---|---|---|---|---|---|---|
☑ Windows | ☐ macOS | ☑ Edge | ☑ Chrome | ☐ Safari | ☑ Firefox | ☑ Opera |
Mobile NRE | Mobile WRE | |||||
☐ Android | ☐ iOS/iPadOS | ☐ Android | ☐ iOS/iPadOS | |||
문법
XAgent.connect([strProject [,strLicense [,strUpdateUrl [,strAdminApiUrl]]]]
파라미터
Parameters | Type | Description | |
|---|---|---|---|
strProject | String | X-AGENT 서버 프로젝트 이름 | |
strLicense | String | X-AGENT 서버 라이선스 | |
strUpdateUrl | String | X-AGENT 모듈 업데이트 URL 정보 | |
strAdminApiUrl | String | X-AGENT Admin API URL 정보 | |
참고
- 성공 시 onsuccess, 실패 시 onerror 이벤트가 발생합니다. onsuccess 이벤트 발생 시 XAgentEventInfo 오브젝트의 param 속성값에서 X-AGENT 버전 정보를 확인할 수 있습니다. var strVersion = e.param; // "2024.999.999" - 서버 연결이 정상적으로 실행되면 아래 경로에 project.json 파일이 생성됩니다. C:\Users\%USERNAME%\AppData\LocalLow\TOBESOFT\X-AGENT\Projects\[프로젝트명]\project.json - 메서드 실행 시 파라미터값은 project, license, updateurl, adminapiurl 속성값을 변경하지는 않습니다.
disconnect
X-AGENT 서버와 연결 종료를 요청하는 메서드입니다.
지원 환경
Desktop NRE | Desktop WRE | |||||
|---|---|---|---|---|---|---|
☑ Windows | ☐ macOS | ☑ Edge | ☑ Chrome | ☐ Safari | ☑ Firefox | ☑ Opera |
Mobile NRE | Mobile WRE | |||||
☐ Android | ☐ iOS/iPadOS | ☐ Android | ☐ iOS/iPadOS | |||
문법
XAgent.disconnect()
참고
- 성공 시 onsuccess, 실패 시 onerror 이벤트가 발생합니다.
execute
X-AGENT 서버에 설치된 모듈 실행을 요청하는 메서드입니다.
지원 환경
Desktop NRE | Desktop WRE | |||||
|---|---|---|---|---|---|---|
☑ Windows | ☐ macOS | ☑ Edge | ☑ Chrome | ☐ Safari | ☑ Firefox | ☑ Opera |
Mobile NRE | Mobile WRE | |||||
☐ Android | ☐ iOS/iPadOS | ☐ Android | ☐ iOS/iPadOS | |||
문법
XAgent.execute(strModule, strFunc, objParam [,objExtraData])
파라미터
Parameters | Type | Description | |
|---|---|---|---|
strModule | String | 모듈 이름 | |
strFunc | String | 모듈 함수 이름 | |
objParam | Object | 모듈 함수에 전달할 인수 JSON 오브젝트 형식으로 설정합니다. | |
objExtraData | Object | 메서드 실행 반환값에 포함될 추가 데이터 | |
var strModuleName = "xagent_module"; var strFunName = "testFunc"; var strParam = {"param1": "value1", "param2": "value2", "param3": "value3"}; var objExtra = { requestType: "execute"}; var result = this.XAgent00.execute(strModuleName, strFunName, strParam, objExtra); if (result) { trace("UID: " + result.uid); trace("Extra Data: " + result.extra.requestType); } | |||
반환
Type | Description |
|---|---|
Object | XAgent 내부적으로 생성된 고유 식별자 uid와 objExtraData 데이터를 포함하는 오브젝트를 반환합니다. 반환된 오브젝트의 'uid' 속성에 고유 식별자(UID) 값이 저장됩니다. 반환된 오브젝트의 'extra' 속성에 objExtraData 데이터 값이 저장됩니다. execute 메서드 실행 성공 여부와 상관없이 메서드 실행 시 바로 반환하는 값입니다. |
참고
- 성공 시 onsuccess, 실패 시 onerror 이벤트가 발생합니다.
onsuccess 이벤트 발생 시 XAgentEventInfo 오브젝트의 param 속성값에서 실행 모듈 함수의 반환값을 JSON 형태로 확인할 수 있습니다.
{
[
"event",
{
"eventId": "event",
"parameters": "{\"parameters\":{\"key\":\"value\"}}"
}
]
}installed
윈도우 레지스트리 정보를 이용해 타사 앱 설치 여부를 확인하는 메서드입니다.
지원 환경
Desktop NRE | Desktop WRE | |||||
|---|---|---|---|---|---|---|
☑ Windows | ☐ macOS | ☑ Edge | ☑ Chrome | ☐ Safari | ☑ Firefox | ☑ Opera |
Mobile NRE | Mobile WRE | |||||
☐ Android | ☐ iOS/iPadOS | ☐ Android | ☐ iOS/iPadOS | |||
문법
XAgent.installed(strRegistryPath, strRegistryKey)
파라미터
Parameters | Type | Description | |
|---|---|---|---|
strRegistryPath | String | 아래 경로에 있는 레지스트리 CLSID(GUID) Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{registryPath} | |
strRegistryKey | String | 레지스트리 키 | |
var strRegistryPath = "{9E5A2E5A-4E6A-4E3A-8A3A-3A3E5A2E9E5A}"; var strRegistryKey = "DisplayName"; this.XAgent00.installed(strRegistryPath, strRegistryKey ); | |||
참고
- 성공 시 onsuccess, 실패 시 onerror 이벤트가 발생합니다. onsuccess 이벤트 발생 시 XAgentEventInfo 오브젝트의 param 속성값에서 레지스트리 키 값을 확인할 수 있습니다. var strRegistryKeyValue = e.param; // "24.0.0.1";
status
X-AGENT 서버 실행 상태 정보를 요청하는 메서드입니다.
지원 환경
Desktop NRE | Desktop WRE | |||||
|---|---|---|---|---|---|---|
☑ Windows | ☐ macOS | ☑ Edge | ☑ Chrome | ☐ Safari | ☑ Firefox | ☑ Opera |
Mobile NRE | Mobile WRE | |||||
☐ Android | ☐ iOS/iPadOS | ☐ Android | ☐ iOS/iPadOS | |||
문법
XAgent.status(strType);
파라미터
Parameters | Type | Description | |
|---|---|---|---|
strType | String | 상태를 확인할 대상을 설정합니다. - "all": X-AGENT 서버, 모듈 상태 정보 파라미터 값을 설정하지 않은 경우 "all"로 동작합니다. - "server": X-AGENT 서버 상태 정보 - "process": X-AGENT 모듈 상태 정보 | |
참고
- 성공 시 onsuccess, 실패 시 onerror 이벤트가 발생합니다.
onsuccess 이벤트 발생 시 XAgentEventInfo 오브젝트의 param 속성값에서 요청한 상태 정보를 JSON 형태로 확인할 수 있습니다.
4가지 상태 정보를 반환합니다.
- "RUNNING": 실행 중
- "STOPPED": 중지 상태
- "PAUSED": 일시 중지 상태
- "IDLE": 대기 상태
{
"server",
"RUNNING",
"process",
[
{ "slot": 0, "status": "RUNNING" },
{ "slot": 1, "status": "RUNNING" },
{ "slot": 2, "status": "STOPPED" },
{ "slot": 3, "status": "STOPPED" },
{ "slot": 4, "status": "STOPPED" },
{ "slot": 5, "status": "STOPPED" },
{ "slot": 6, "status": "STOPPED" },
{ "slot": 7, "status": "STOPPED" },
{ "slot": 8, "status": "STOPPED" },
{ "slot": 9, "status": "STOPPED" }
]
}updateModule
X-AGENT 서버에 모듈 업데이트를 요청하는 메서드입니다
지원 환경
Desktop NRE | Desktop WRE | |||||
|---|---|---|---|---|---|---|
☑ Windows | ☐ macOS | ☑ Edge | ☑ Chrome | ☐ Safari | ☑ Firefox | ☑ Opera |
Mobile NRE | Mobile WRE | |||||
☐ Android | ☐ iOS/iPadOS | ☐ Android | ☐ iOS/iPadOS | |||
문법
XAgent.updateModule(strName, strVersion, strFile, strProject[, bForceInstall])
파라미터
Parameters | Type | Description | |
|---|---|---|---|
strName | String | 모듈 이름 | |
strVersion | String | 업데이트 모듈 버전 모듈 파일 내 META-INF 폴더에 있는 module.json 파일 내 version 값과 같은 값을 설정합니다. | |
strFile | String | 업데이트 모듈 파일 이름 | |
strProject | String | 프로젝트 이름 | |
bForceInstall | Boolean | version과 상관 없이 강제 업데이트 여부를 설정합니다. 값을 설정하지 않으면 false로 적용됩니다. false인 경우에는 상위 버전인 경우에만 업데이트를 수행합니다. | |
this.XAgent00.updateModule("xagent", “1.1”, “xagent_1.1.zip", "com.nexacro.xagent", true); | |||
참고
- 성공 시 onsuccess, 실패 시 onerror 이벤트가 발생합니다.
onsuccess 이벤트 발생 시 XAgentEventInfo 오브젝트의 param 속성값에서 모듈 정보를 JSON 형태로 확인할 수 있습니다.
{
"update-module": [
{
"name": "ModuleTest",
"version": "1.0",
"project": "nexacro.example.moduletest"
}
]
}updateModuleCheck
X-AGENT 모듈 업데이트의 다운로드 상태 정보를 요청하는 메서드입니다.
지원 환경
Desktop NRE | Desktop WRE | |||||
|---|---|---|---|---|---|---|
☑ Windows | ☐ macOS | ☑ Edge | ☑ Chrome | ☐ Safari | ☑ Firefox | ☑ Opera |
Mobile NRE | Mobile WRE | |||||
☐ Android | ☐ iOS/iPadOS | ☐ Android | ☐ iOS/iPadOS | |||
문법
XAgent.updateModuleCheck()
참고
- 성공 시 onsuccess, 실패 시 onerror 이벤트가 발생합니다. onsuccess 이벤트 발생 시 XAgentEventInfo 오브젝트의 param 속성값에서 모듈 업데이트의 다운로드 상태 정보를 확인할 수 있습니다. 4가지 상태 정보를 반환합니다. - "Idle": 다운로드 중 - "Checking for Updates": 업데이트 확인 중 - "Downloading": 다운로드 중 - "Installing": 설치 중 - "Completed": 업데이트 완료 - "Failed": 업데이트 실패 var strUpdateStatus = e.param; // "Completed"
updateModules
X-AGENT 서버에 여러 모듈 업데이트를 요청하는 메서드입니다
지원 환경
Desktop NRE | Desktop WRE | |||||
|---|---|---|---|---|---|---|
☑ Windows | ☐ macOS | ☑ Edge | ☑ Chrome | ☐ Safari | ☑ Firefox | ☑ Opera |
Mobile NRE | Mobile WRE | |||||
☐ Android | ☐ iOS/iPadOS | ☐ Android | ☐ iOS/iPadOS | |||
문법
XAgent.updateModules(strProject)
파라미터
Parameters | Type | Description | |
|---|---|---|---|
strProject | String | 프로젝트 이름 | |
this.XAgent00.updateModules(“com.nexacro.xagent”); | |||
참고
- 성공 시 onsuccess, 실패 시 onerror 이벤트가 발생합니다. - updateurl 속성에 설정된 경로 또는 connect, configure 메서드 실행 시 설정한 경로에서 modules.json 파일을 참조해 모듈 업데이트를 실행합니다.
version
X-AGENT 서버 버전, 모듈 버전 정보를 요청하는 메서드입니다.
지원 환경
Desktop NRE | Desktop WRE | |||||
|---|---|---|---|---|---|---|
☑ Windows | ☐ macOS | ☑ Edge | ☑ Chrome | ☐ Safari | ☑ Firefox | ☑ Opera |
Mobile NRE | Mobile WRE | |||||
☐ Android | ☐ iOS/iPadOS | ☐ Android | ☐ iOS/iPadOS | |||
문법
XAgent.version([strType])
파라미터
Parameters | Type | Description | |
|---|---|---|---|
strType | String | 버전 정보를 요청할 대상을 설정합니다. - "all": X-AGENT 서버, 모듈 버전 정보 파라미터 값을 설정하지 않은 경우 "all"로 동작합니다. - "server": X-AGENT 서버 버전 정보 - "modules": X-AGENT 모듈 버전 정보 | |
this.XAgent00.version(); this.XAgent00.version("server"); | |||
참고
- 성공 시 onsuccess, 실패 시 onerror 이벤트가 발생합니다.
onsuccess 이벤트 발생 시 XAgentEventInfo 오브젝트의 param 속성값에서 요청한 버전 정보를 JSON 형태로 확인할 수 있습니다.
{
"server":"2024,1,10,1",
"modules":[
{"name":"example1","version":"2023,12,10,1"},
{"name":"example2","version":"2023,12,12,9"},
{"name":"example3","version":"2024,12,16,999"},
{"name":"ModuleTest","version":"1.0.1"}
],
}이벤트
onerror
메서드 실행 실패 시 발생하는 이벤트입니다.
지원 환경
Desktop NRE | Desktop WRE | |||||
|---|---|---|---|---|---|---|
☑ Windows | ☐ macOS | ☑ Edge | ☑ Chrome | ☐ Safari | ☑ Firefox | ☑ Opera |
Mobile NRE | Mobile WRE | |||||
☐ Android | ☐ iOS/iPadOS | ☐ Android | ☐ iOS/iPadOS | |||
문법
onerror(obj:nexacro.XAgent,e:nexacro.XAgentErrorEventInfo);
파라미터
Parameters | Type | Description | |
|---|---|---|---|
obj | XAgent | Event가 발생한 Object. | |
e | Event Object. | ||
onsuccess
메서드 실행 성공 시 발생하는 이벤트입니다.
지원 환경
Desktop NRE | Desktop WRE | |||||
|---|---|---|---|---|---|---|
☑ Windows | ☐ macOS | ☑ Edge | ☑ Chrome | ☐ Safari | ☑ Firefox | ☑ Opera |
Mobile NRE | Mobile WRE | |||||
☐ Android | ☐ iOS/iPadOS | ☐ Android | ☐ iOS/iPadOS | |||
문법
onsuccess(obj:nexacro.XAgent,e:nexacro.XAgentEventInfo);
파라미터
Parameters | Type | Description | |
|---|---|---|---|
obj | XAgent | Event가 발생한 Object. | |
e | Event Object. | ||