Progress on a crude Blackberry client -- still needs much polish but basic functional...
[zxing.git] / rim / src / com / google / zxing / client / rim / ImageCapturedJournalListener.java
1 /*\r
2  * Copyright 2008 Google Inc.\r
3  *\r
4  * Licensed under the Apache License, Version 2.0 (the "License");\r
5  * you may not use this file except in compliance with the License.\r
6  * You may obtain a copy of the License at\r
7  *\r
8  *      http://www.apache.org/licenses/LICENSE-2.0\r
9  *\r
10  * Unless required by applicable law or agreed to in writing, software\r
11  * distributed under the License is distributed on an "AS IS" BASIS,\r
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
13  * See the License for the specific language governing permissions and\r
14  * limitations under the License.\r
15  */\r
16 \r
17 package com.google.zxing.client.rim;\r
18 \r
19 import net.rim.device.api.io.file.FileSystemJournal;\r
20 import net.rim.device.api.io.file.FileSystemJournalEntry;\r
21 import net.rim.device.api.io.file.FileSystemJournalListener;\r
22 \r
23 /**\r
24  * @author Sean Owen (srowen@google.com)\r
25  */\r
26 final class ImageCapturedJournalListener implements FileSystemJournalListener {\r
27 \r
28   private final ZXingMainScreen screen;\r
29   private long lastUSN;\r
30 \r
31   ImageCapturedJournalListener(ZXingMainScreen screen) {\r
32     this.screen = screen;\r
33   }\r
34 \r
35   public void fileJournalChanged() {\r
36     long nextUSN = FileSystemJournal.getNextUSN();\r
37     for (long lookUSN = nextUSN - 1; lookUSN >= lastUSN; --lookUSN) {\r
38       FileSystemJournalEntry entry = FileSystemJournal.getEntry(lookUSN);\r
39       if (entry == null) {\r
40         break;\r
41       }\r
42       if (entry.getEvent() == FileSystemJournalEntry.FILE_ADDED) {\r
43         screen.handleFile(entry.getPath());\r
44       }\r
45     }\r
46     lastUSN = nextUSN;\r
47   }\r
48 \r
49 \r
50 }\r