COMConnector: SubscriptionManager
This code sample shows event subscription and unsubscribe:
Option Strict Off
Option Explicit On
<System.Runtime.InteropServices.ProgId("SubscriptionManager_NET.
SubscriptionManager")> Public Class SubscriptionManager
'Private Const m_OneWorldEventCLSID = "{1E645180-6C93-4704-85C6-
57775E2ED2FC}"
Private m_SubscribedEvents As Collection
'UPGRADE_NOTE: Class_Initialize was upgraded to Class_Initialize_
Renamed. Click for more: 'ms-help://MS.VSCC.2003/commoner/redir/
redirect.htm?keyword="vbup1061"'
Private Sub Class_Initialize_Renamed()
m_SubscribedEvents = New Collection
comm_Initialize()
End Sub
Public Sub New()
MyBase.New()
Class_Initialize_Renamed()
End Sub
Public Sub GetEventList(ByRef eventList As String)
getEventListFromOneWorld(eventList)
End Sub
Public Sub Logoff()
SendLogoffToOneWorld()
End Sub
Public Sub CreateTransientSubscription(ByRef eventName As String,
ByRef oneworldevent As EventClass.IOWEvent)
SubscribeToOneWorldEvent(eventName, oneworldevent, 0)
End Sub
Public Sub CreatePersistentSubscription(ByRef eventName As
String, ByRef oneworldevent As EventClass.IOWEvent)
SubscribeToOneWorldEvent(eventName, oneworldevent, 1)
End Sub
Public Sub RemoveTransientSubscription(ByRef eventName As String,
ByRef oneworldevent As EventClass.IOWEvent)
UnSubscribeToOneWorldEvent(eventName, oneworldevent, 0)
End Sub
Public Sub RemovePersistentSubscription(ByRef eventName As
String, ByRef oneworldevent As EventClass.IOWEvent)
UnSubscribeToOneWorldEvent(eventName, oneworldevent, 1)
End Sub
Public Sub GetEventTemplate(ByRef eventName As String, ByRef
eventTemplate As String)
getEventTemplateFromOneWorld(eventName, eventTemplate)
End Sub
Public Sub SubscribeToOneWorldEvent(ByRef eventName As String,
ByRef oneworldevent As EventClass.IOWEvent, ByRef mode As Integer)
'Private Function SubscribeToOneWorldEvent(EventName As
String) As Boolean
' we've already subscribed if the subscription is in our
list
Dim alreadySubscribed As Boolean
'UPGRADE_WARNING: Couldn't resolve default property of
object CollectionContainsString(). Click for more: 'ms-help:
//MS.VSCC.2003/commoner/redir/redirect.htm?keyword="vbup1037"'
alreadySubscribed = (CollectionContainsString
(m_SubscribedEvents, eventName) = True)
' now do the right thing...
If (alreadySubscribed = False) Then
' this instance of the COMConnector has not seen this
' event before, so add it to our list...
m_SubscribedEvents.Add((eventName))
' ...and go ahead and subscribe to the event from
JD Edwards EnterpriseOne
SendSubscriptionToOneWorld(eventName,
oneworldevent, mode)
End If
'SubscribeToOneWorldEvent = alreadySubscribed
End Sub
'UPGRADE_NOTE: str was upgraded to str_Renamed. Click for more:
'ms-help://MS.VSCC.2003/commoner/redir/redirect.htm?keyword="vbup1061"'
Private Function CollectionContainsString(ByRef col As
Collection, ByRef str_Renamed As String) As Object
Dim colItem As Object
For Each colItem In col
'UPGRADE_WARNING: Couldn't resolve default
property of object colItem. Click for more: 'ms-help:
//MS.VSCC.2003/commoner/redir/redirect.htm?keyword="vbup1037"'
If (colItem = str_Renamed) Then
'UPGRADE_WARNING: Couldn't resolve default
property of object CollectionContainsString. Click for more:
'ms-help://MS.VSCC.2003/commoner/redir/redirect.htm?keyword="vbup1037"'
CollectionContainsString = True
Exit Function
End If
Next colItem
'UPGRADE_WARNING: Couldn't resolve default property of
object CollectionContainsString. Click for more:
'ms-help://MS.VSCC.2003/commoner/redir/redirect.htm?keyword="vbup1037"'
CollectionContainsString = False
End Function
Public Sub UnSubscribeToOneWorldEvent(ByRef eventName As String,
ByRef oneworldevent As EventClass.IOWEvent, ByRef mode As Integer)
Dim alreadySubscribed As Boolean
'alreadySubscribed = (CollectionContainsString
(m_SubscribedEvents.Item, eventName))
' now do the right thing...
'If (alreadySubscribed = True) Then
' this instance of the COMConnector has not seen this
event before, so
' remove it from the list...
alreadySubscribed = (RemoveFromCollection
(m_SubscribedEvents, eventName))
If (alreadySubscribed = False) Then
MsgBox("Event Not Subscribed")
Else
'm_SubscribedEvents.Remove ()
' ...and go ahead and subscribe to the event from
JD Edwards EnterpriseOne
SendUnSubscribeToOneWorld(eventName, oneworldevent,
mode)
End If
' End If
End Sub
'UPGRADE_NOTE: str was upgraded to str_Renamed. Click for more:
'ms-help://MS.VSCC.2003/commoner/redir/redirect.htm?keyword="vbup1061"'
Private Function RemoveFromCollection(ByRef col As Collection,
ByRef str_Renamed As String) As Object
Dim colItem As Object
Dim count As Short
count = 0
For Each colItem In col
count = count + 1
'UPGRADE_WARNING: Couldn't resolve default
property of object colItem. Click for more: 'ms-help:
//MS.VSCC.2003/commoner/redir/redirect.htm?keyword="vbup1037"'
If (colItem = str_Renamed) Then
col.Remove(count)
'UPGRADE_WARNING: Couldn't resolve default
property of object RemoveFromCollection. Click for more:
'ms-help://MS.VSCC.2003/commoner/redir/redirect.htm?keyword="vbup1037"'
RemoveFromCollection = True
Exit Function
End If
Next colItem
'UPGRADE_WARNING: Couldn't resolve default property of
object RemoveFromCollection. Click for more: 'ms-help:
//MS.VSCC.2003/commoner/redir/redirect.htm?keyword="vbup1037"'
RemoveFromCollection = False
End Function
End Class