notesgrip 0.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,317 @@
1
+ module Notesgrip
2
+ # ====================================================
3
+ # ================= NotesSession Class ===============
4
+ # ====================================================
5
+ class NotesSession < GripWrapper
6
+ @@ns = nil
7
+
8
+ def initialize()
9
+ if @@ns
10
+ @raw_object = @ns
11
+ else
12
+ @raw_object = WIN32OLE.new('Notes.NotesSession')
13
+ end
14
+ end
15
+
16
+ def AddressBooks()
17
+ rawdb_arr = @raw_object.AddressBooks()
18
+ db_arr = []
19
+ rawdb_arr.each {|raw_db|
20
+ db_arr.push NotesDatabase.new(raw_db)
21
+ }
22
+ db_arr
23
+ end
24
+
25
+ def International()
26
+ raw_international = @raw_object.International
27
+ NotesInternational.new(raw_international)
28
+ end
29
+
30
+ def CurrentDatabase
31
+ db = @raw_object.CurrentDatabase
32
+ db ? NotesDatabase.new(db) : nil
33
+ end
34
+
35
+ def SavedData
36
+ raw_saveddb = @raw_object.SavedData
37
+ raw_saveddb ? NotesDocument.new(raw_saveddb) : nil
38
+ end
39
+
40
+ def URLDatabase
41
+ db = @raw_object.URLDatabase
42
+ db ? NotesDatabase.new(db) : nil
43
+ end
44
+
45
+ def UserGroupNameList
46
+ raw_name_arr = @raw_object.UserGroupNameList
47
+ name_arr = []
48
+ raw_name_arr.each {|raw_name|
49
+ name_arr.push NotesName.new(raw_name)
50
+ }
51
+ name_arr
52
+ end
53
+
54
+ def UserNameList
55
+ raw_name_arr = @raw_object.UserNameList
56
+ name_arr = []
57
+ raw_name_arr.each {|raw_name|
58
+ name_arr.push NotesName.new(raw_name)
59
+ }
60
+ name_arr
61
+ end
62
+
63
+ def UserNameObject
64
+ NotesName.new(@raw_object.UserNameObject)
65
+ end
66
+
67
+ def CreateAdministrationProcess( server )
68
+ admin_process = @raw_object.CreateAdministrationProcess( server )
69
+ NotesAdministrationProcess.new(admin_process)
70
+ end
71
+
72
+ def CreateColorObject()
73
+ NotesColorObject.new(@raw_object.CreateColorObject())
74
+ end
75
+
76
+ def CreateDateRange()
77
+ NotesDateRange.new(@raw_object.CreateDateRange())
78
+ end
79
+
80
+ def CreateDateTime( dateTime)
81
+ NotesDateTime.new(@raw_object.CreateDateTime( dateTime))
82
+ end
83
+
84
+ def CreateLog(programName)
85
+ NotesLog.new(@raw_object.CreateLog(programName))
86
+ end
87
+
88
+ def CreateName( name, language=nil )
89
+ NotesName.new(@raw_object.CreateName(name, language))
90
+ end
91
+
92
+ def CreateNewsletter(notesDocumentCollection)
93
+ NotesNewsletter.new(@raw_object.CreateNewsletter(toRaw(notesDocumentCollection)))
94
+ end
95
+
96
+ def CreateRegistration()
97
+ NotesRegistration.new(@raw_object.CreateRegistration())
98
+ end
99
+
100
+ def CreateRichTextParagraphStyle()
101
+ NotesRichTextParagraphStyle.new(@raw_object.CreateRichTextParagraphStyle())
102
+ end
103
+
104
+ def CreateRichTextStyl()
105
+ NotesRichTextStyle.new(@raw_object.CreateRichTextStyl())
106
+ end
107
+
108
+ def CreateStream()
109
+ NotesStream.new(@raw_object.CreateStream())
110
+ end
111
+
112
+ def Evaluate(formula, doc)
113
+ @raw_object.Evaluate(formula, toRaw(doc))
114
+ end
115
+
116
+ def FreeTimeSearch( window, duration, names, firstfit=nil)
117
+ dateRangeArr = @raw_object.FreeTimeSearch( window, duration, names, firstfit)
118
+ ret_list = []
119
+ dateRangeArr.each {|notesDateRange|
120
+ ret_list.push NotesDateRange.new(notesDateRange)
121
+ }
122
+ ret_list
123
+ end
124
+
125
+ def GetDatabase(server_name, db_filename)
126
+ raw_db = @raw_object.GetDatabase(server_name, db_filename)
127
+ NotesDatabase.new(raw_db)
128
+ end
129
+ alias database GetDatabase
130
+
131
+ def GetDbDirectory(server_name)
132
+ raw_db_directory = @raw_object.GetDbDirectory(server_name)
133
+ NotesDbDirectory.new(raw_db_directory)
134
+ end
135
+
136
+ def GetDirectory()
137
+ NotesDirectory.new(@raw_object.GetDirectory())
138
+ end
139
+
140
+ def GetEnvironmentString( name, system=false )
141
+ @raw_object.GetEnvironmentString( name, system)
142
+ end
143
+
144
+ def GetEnvironmentValue(name, system=false )
145
+ @raw_object.GetEnvironmentValue(name, system)
146
+ end
147
+
148
+
149
+ POLICYSETTINGS_ARCHIVE = 2
150
+ POLICYSETTINGS_DESKTOP = 4
151
+ POLICYSETTINGS_REGISTRATION = 0
152
+ POLICYSETTINGS_SECURITY = 3
153
+ POLICYSETTINGS_SETUP = 1
154
+ def GetUserPolicySettings( server , name , type , explicitPolicy=nil )
155
+ doc = @raw_object.GetUserPolicySettings( server , name , type , explicitPolicy )
156
+ NotesDocument.new(doc)
157
+ end
158
+
159
+ def HashPassword()
160
+ @raw_object.HashPassword()
161
+ end
162
+
163
+ def InitializeUsingNotesUserName( name, password )
164
+ @raw_object.InitializeUsingNotesUserName( name, password )
165
+ end
166
+
167
+ def Resolve( url )
168
+ obj = @raw_object.Resolve( url )
169
+ case url
170
+ when /\?OpenDatabase/i
171
+ NotesDocument.new(obj)
172
+ when /\?OpenView/i
173
+ NotesView.new(obj)
174
+ when /\?OpenForm/i
175
+ NotesForm.new(obj)
176
+ when /\?OpenDocument/i
177
+ doc = NotesDocument.new(obj)
178
+ when /\?OpenAgent/i
179
+ NotesAgent.new(obj)
180
+ else
181
+ obj
182
+ end
183
+ end
184
+
185
+ def SendConsoleCommand( serverName, consoleCommand )
186
+ @raw_object.SendConsoleCommand( serverName, consoleCommand )
187
+ end
188
+
189
+ def SetEnvironmentVar( name, valueV, issystemvar=false )
190
+ @raw_object.SetEnvironmentVar( name, valueV, issystemvar )
191
+ end
192
+
193
+ def UpdateProcessedDoc( notesDocument )
194
+ @raw_object.UpdateProcessedDoc( toRaw(notesDocument) )
195
+ end
196
+
197
+ def VerifyPassword( password, hashedPassword )
198
+ @raw_object.VerifyPassword( password, hashedPassword )
199
+ end
200
+
201
+ # ----Additional Methods --------
202
+ NOTES_DATABASE = 1247
203
+ TEMPLATE = 1248
204
+ REPLICA_CANDIDATE = 1245
205
+ TEMPLATE_CANDIDATE = 1246
206
+ def each_database(serverName = "")
207
+ db_directory = @raw_object.GetDbDirectory( serverName )
208
+ raw_db = db_directory.GetFirstDatabase(NOTES_DATABASE)
209
+ while raw_db
210
+ next_db = db_directory.GetNextDatabase
211
+ yield NotesDatabase.new(raw_db)
212
+ raw_db = next_db
213
+ end
214
+ end
215
+
216
+ end
217
+
218
+ # ====================================================
219
+ # ================= NotesDbDirectory Class ===============
220
+ # ====================================================
221
+ class NotesDbDirectory < GripWrapper
222
+ def nitialize(raw_doc)
223
+ super(raw_doc)
224
+ end
225
+
226
+ def CreateDatabase(dbfile)
227
+ servername = @raw_object.Name
228
+ raw_db = NotesSession.new.GetDatabase(servername, dbfile)
229
+ unless raw_db.IsOpen
230
+ raw_db.Create(servername, dbfile, true)
231
+ end
232
+ NotesDatabase.new(raw_db)
233
+ end
234
+
235
+ def GetFirstDatabase(fileType=NOTES_DATABASE)
236
+ raw_db = @raw_object.GetFirstDatabase(fileType)
237
+ NotesDatabase.new(raw_db)
238
+ end
239
+
240
+
241
+ def GetNextDatabase()
242
+ raw_db = @raw_object.GetNextDatabase()
243
+ return nil unless raw_db
244
+ NotesDatabase.new(raw_db)
245
+ end
246
+
247
+ def each_database(fileType=NOTES_DATABASE)
248
+ db = GetFirstDatabase(fileType)
249
+ while db
250
+ yield db
251
+ db = GetNextDatabase()
252
+ end
253
+ end
254
+ end
255
+
256
+ # ====================================================
257
+ # ================= NotesDateTime Class ===============
258
+ # ====================================================
259
+ class NotesDateTime < GripWrapper
260
+ # ---- Additional Methods -----
261
+ def inspect
262
+ "<#{self.class}, #{self.LocalTime} #{self.TimeOnly}>"
263
+ end
264
+ end
265
+
266
+ # ====================================================
267
+ # ================= NotesLog Class ===============
268
+ # ====================================================
269
+ class NotesLog < GripWrapper
270
+ end
271
+
272
+ # ====================================================
273
+ # ================= NotesName Class ===============
274
+ # ====================================================
275
+ class NotesName < GripWrapper
276
+ def inspect
277
+ "<#{self.class}, #{self.Common}>"
278
+ end
279
+ end
280
+
281
+ # ====================================================
282
+ # ================= NotesStream Class ===============
283
+ # ====================================================
284
+ class NotesStream < GripWrapper
285
+ end
286
+
287
+ # ====================================================
288
+ # ================= NotesColorObject Class ===============
289
+ # ====================================================
290
+ class NotesColorObject < GripWrapper
291
+ end
292
+
293
+ # ====================================================
294
+ # ======== NotesAdministrationProcess Class ===============
295
+ # ====================================================
296
+ class NotesAdministrationProcess < GripWrapper
297
+ end
298
+
299
+ # ====================================================
300
+ # ======== NotesInternational Class ===============
301
+ # ====================================================
302
+ class NotesInternational < GripWrapper
303
+ end
304
+
305
+ # ====================================================
306
+ # ======== NotesNewsLetter Class ===============
307
+ # ====================================================
308
+ class NotesNewsLetter < GripWrapper
309
+ end
310
+
311
+ # ====================================================
312
+ # ======== NotesRegistration Class ===============
313
+ # ====================================================
314
+ class NotesRegistration < GripWrapper
315
+ end
316
+ end
317
+