VERSION 1.0 CLASS
BEGIN
  MultiUse = -1  'True
  Persistable = 0  'NotPersistable
  DataBindingBehavior = 0  'vbNone
  DataSourceBehavior  = 0  'vbNone
  MTSTransactionMode  = 0  'NotAnMTSObject
END
Attribute VB_Name = "outq"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = True
Attribute VB_PredeclaredId = False
Attribute VB_Exposed = False
Option Explicit
Public m_oColl As Collection
Public m_iQLength As Integer
Private Sub Class_Initialize()
Set m_oColl = New Collection
m_iQLength = 0
End Sub
Private Sub Class_Terminate()
    Set m_oColl = Nothing
End Sub
Public Sub QAdd(ByVal vItem As Variant)
If m_iQLength < 32767 Then
    Dim x As Long, bleh As Object, Splt1() As String, Text1 As String, text As String, Username As String, I As Long, Splt() As String
    
    Text1 = Mid$(vItem, 5, Len(vItem) - 5)
    If LCase(Left(Text1, 4)) = "/ban" Or LCase(Left(Text1, 5)) = "/kick" Or LCase(Left(Text1, 7)) = "/ignore" Or LCase(Left(Text1, 9)) = "/unignore" Or LCase(Left(Text1, 6)) = "/unban" Then
        Splt1() = Split(Text1, " ")
        If UBound(Splt1) >= 1 Then
        Username = Splt1(1)
        For I = 1 To Q.m_oColl.Count
            If Q.m_oColl.Count = 0 Then GoTo Ending
            text = Mid$(Q.m_oColl.Item(I), 5, Len(Q.m_oColl.Item(I)) - 5)
            Splt() = Split(text, " ")
                If UBound(Splt) >= 1 Then
                    If LCase(Splt(0)) = "/ban" Or LCase(Splt(0)) = "/kick" Or LCase(Splt(0)) = "/ignore" Or LCase(Splt(0)) = "/unignore" Or LCase(Splt(0)) = "/unban" Then
                        If LCase(Splt(1)) = LCase(Username) And LCase(Splt(0)) = LCase(Splt1(0)) Then
                            Exit Sub
                        End If
                    End If
                End If
        Next I
        End If
    End If
Ending:
    m_oColl.Add (vItem)
    m_iQLength = m_iQLength + 1
    qi = qi + 1
Else
    QClear
End If
End Sub
Public Sub QClear()
Set m_oColl = Nothing
Set m_oColl = New Collection
m_iQLength = 0
qi = 0
End Sub
Public Sub QDelete()
If m_iQLength > 0 Then
   m_oColl.Remove (1)
   m_iQLength = m_iQLength - 1
End If
End Sub
Public Property Get QIsEmpty() As Boolean
If m_iQLength = 0 Then
   QIsEmpty = True
Else
   QIsEmpty = False
End If
End Property
Public Property Get QLength() As Integer
    QLength = m_iQLength
End Property
Public Property Get QPeek() As Variant
If m_iQLength > 0 Then
   QPeek = m_oColl.Item(1)
Else
   QPeek = Null
End If
End Property
Public Property Get QRead() As Variant
If m_iQLength > 0 Then
   QRead = m_oColl.Item(1)
   m_oColl.Remove (1)
   m_iQLength = m_iQLength - 1
   qi = qi - 1
Else
   QRead = Null
End If
End Property

