aboutsummaryrefslogtreecommitdiff
path: root/files/ko/nsiidleservice/index.html
blob: d8989f63750e84b39b897d85406bd719de313193 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
---
title: nsIIdleService
slug: nsIIdleService
tags:
  - Interfaces
  - MDC Project
  - NeedsContent
  - XPCOM API Reference
translation_of: Mozilla/Tech/XPCOM/Reference/Interface/nsIIdleService
---
<p>« <a href="/ko/docs/XPCOM_API_Reference">XPCOM API Reference</a> </p>
<p></p><div style="border: solid #ddd 2px; margin-bottom: 12px;">
<div style="background: #eee; padding: 2px;"><code><a href="https://dxr.mozilla.org/mozilla-central/source/widget/public/nsIIdleService.idl" rel="custom">widget/public/nsIIdleService.idl</a></code><span style="text-align: right; float: right;"><a href="/ko/docs/Interfaces/About_Scriptable_Interfaces" style="color: #00cc00; font-weight: 700;">스크립트에서 사용 가능</a></span></div>
<span style="padding: 4px 2px;">

<i>Please add a summary to this article.</i>
</span>

<div style="background: #eee; padding: 2px;">
<span> </span>
<span style="text-align: right; float: right;">Last changed in Gecko 1.9a </span></div>
</div><p></p>
<h2 id=".EC.9A.94.EC.95.BD" name=".EC.9A.94.EC.95.BD">요약</h2>
<p>유휴 서비스를 이용하면 사용자가 얼마나 오래 '유휴 상태' 즉, 마우스나 키보드를 사용하지 않았는지 감시할 수 있습니다. 유휴 시간을 직접 얻을 수도 있지만 대부분의 경우 미리 지정한 간격에 대한 관찰자를 등록하게 됩니다.</p>
<p>현재 <code>nsIIdleService</code> 구현은 Windows, Mac OS X, Linux (XScreenSaver 이용)에 존재합니다.</p>
<p>구현 클래스: <code>@mozilla.org/widget/idleservice;1</code>. 인스턴스를 생성하려면 다음과 코드를 사용합니다.</p>
<pre class="eval">var idleService = Components.classes["@mozilla.org/widget/idleservice;1"]
                            .getService(Components.interfaces.nsIIdleService)
</pre>
<h2 id=".EB.A9.94.EC.86.8C.EB.93.9C_.EA.B0.9C.EC.9A.94" name=".EB.A9.94.EC.86.8C.EB.93.9C_.EA.B0.9C.EC.9A.94">메소드 개요</h2>
<table class="standard-table">
 <tbody>
  <tr>
   <td><code>void <a href="#addIdleObserver.28.29">addIdleObserver</a>(in <a href="ko/NsIObserver">nsIObserver</a> observer, in unsigned long time)</code></td>
  </tr>
  <tr>
   <td><code>void <a href="#removeIdleObserver.28.29">removeIdleObserver</a>(in <a href="ko/NsIObserver">nsIObserver</a> observer, in unsigned long time)</code></td>
  </tr>
 </tbody>
</table>
<h2 id=".EC.86.8D.EC.84.B1" name=".EC.86.8D.EC.84.B1">속성</h2>
<table class="standard-table">
 <tbody>
  <tr>
   <td class="header">속성</td>
   <td class="header">형식</td>
   <td class="header">설명</td>
  </tr>
  <tr>
   <td><code>idleTime</code></td>
   <td><code>long</code></td>
   <td>1000분의 1초 단위의 마지막 사용자 동작 이후 지난 시간.
    <i>
     읽기 전용.</i>
   </td>
  </tr>
 </tbody>
</table>
<h2 id=".EB.A9.94.EC.86.8C.EB.93.9C" name=".EB.A9.94.EC.86.8C.EB.93.9C">메소드</h2>
<h3 id="addIdleObserver.28.29" name="addIdleObserver.28.29">addIdleObserver()</h3>
<p>사용자가 특정 시간 동안 유휴일 때와 유휴 상태에서 돌아올 때 알림을 받을 관찰자를 추가합니다.</p>
<pre class="eval">void addIdleObserver(
  in nsIObserver observer,
  in unsigned long time
)
</pre>
<h6 id=".EB.A7.A4.EA.B0.9C_.EB.B3.80.EC.88.98" name=".EB.A7.A4.EA.B0.9C_.EB.B3.80.EC.88.98">매개 변수</h6>
<dl>
 <dt>
  &lt;tt&gt;observer&lt;/tt&gt;</dt>
 <dd>
  알림을 받을 <a href="ko/NsIObserver">관찰자</a></dd>
</dl>
<dl>
 <dt>
  &lt;tt&gt;time&lt;/tt&gt;</dt>
 <dd>
  관찰자에게 알리기 전에 사용자가 유휴 상태이어야 하는 초 단위 시간.</dd>
</dl>
<h6 id=".EC.B0.B8.EA.B3.A0" name=".EC.B0.B8.EA.B3.A0">참고</h6>
<ul>
 <li>관찰자가 받게 되는 알림의 제목은 항상 <code>nsIIdleService</code> 자체입니다. 사용자가 유휴가 되면 관찰자 주제는 'idle'이고 다시 돌아오면 관찰자 주제는 'back'입니다. 알림의 data 매개 변수는 현재의 사용자 유휴 시간을 포함하고 있습니다.</li>
</ul>
<ul>
 <li>같은 관찰자를 두 번 추가할 수 있습니다.</li>
</ul>
<ul>
 <li>대부분의 구현은 유휴 정보를 위해서 운영체제를 정기적으로 확인해야 합니다. 이는 구현의 확인 간격 만큼 알림이 지연되어 도착할 수 있다는 뜻입니다. 현재의 구현은 5초 간격을 사용하고 있습니다.</li>
</ul>
<h3 id="removeIdleObserver.28.29" name="removeIdleObserver.28.29">removeIdleObserver()</h3>
<p>addIdleObserver로 등록한 관찰자를 제거합니다.</p>
<pre class="eval">void removeIdleObserver(
  in nsIObserver observer,
  in unsigned long time
)
</pre>
<h6 id=".EB.A7.A4.EA.B0.9C_.EB.B3.80.EC.88.98_2" name=".EB.A7.A4.EA.B0.9C_.EB.B3.80.EC.88.98_2">매개 변수</h6>
<dl>
 <dt>
  &lt;tt&gt;observer&lt;/tt&gt;</dt>
 <dd>
  삭제할 <a href="ko/NsIObserver">관찰자</a></dd>
</dl>
<dl>
 <dt>
  &lt;tt&gt;time&lt;/tt&gt;</dt>
 <dd>
  관찰자가 기다리던 시간</dd>
</dl>
<h6 id="Remarks" name="Remarks">Remarks</h6>
<p>관찰자는 것은 여러분이 지정한 유휴 시간에 대하여 한 번 제거하게 됩니다. 관찰자를 여러 번 추가했다면 그 수 만큼 제거</p>
<h2 id=".EC.98.88.EC.A0.9C_.EC.BD.94.EB.93.9C" name=".EC.98.88.EC.A0.9C_.EC.BD.94.EB.93.9C">예제 코드</h2>
<p>예제 1:</p>
<pre class="eval">var idleService = Components.classes["@mozilla.org/widget/idleservice;1"]
                            .getService(Components.interfaces.nsIIdleService)
setTimeout(function() { alert(idleService.idleTime) }, 1000)
// if you don't use the mouse or the keyboard after running this snippet,
// you'll see a number around 1000 alerted.
</pre>
<p>예제 2:</p>
<pre class="eval">var idleService = Components.classes["@mozilla.org/widget/idleservice;1"]
                            .getService(Components.interfaces.nsIIdleService)
var idleObserver = {
  observe: function(subject, topic, data) {
    alert("topic: " + topic + "\ndata: " + data);
  }
};
idleService.addIdleObserver(idleObserver, 60); // one minute
// ...
// Don't forget to remove the observer using removeIdleObserver!
idleService.removeIdleObserver(idleObserver, 60);
</pre>
<p><span class="comment">Interwiki Language Links</span></p>
<p></p>