Example #1
0
        private void DesktopDlg_FormClosing(object sender, FormClosingEventArgs e)
        {
            if (unsubscribe_cmdid == 0)
            {
                if (MessageBox.Show("Do you wish to stop receiving desktops from this user?", "Close Desktop",
                    MessageBoxButtons.YesNo) == DialogResult.Yes)
                {
                    //we wait for the server to repond to us that we'll no 
                    //longer receive video from this user.
                    ttclient.OnCmdProcessing += new TeamTalk.CommandProcessing(ttclient_OnCmdProcessing);

                    //figure out how we're subscribing to video
                    Subscription subtype = Subscription.SUBSCRIBE_NONE;
                    User user = new User();
                    if (ttclient.GetUser(this.userid, ref user))
                    {
                        if ((user.uLocalSubscriptions & Subscription.SUBSCRIBE_DESKTOP) == Subscription.SUBSCRIBE_DESKTOP)
                            subtype = Subscription.SUBSCRIBE_DESKTOP;
                        else if ((user.uLocalSubscriptions & Subscription.SUBSCRIBE_INTERCEPT_DESKTOP) == Subscription.SUBSCRIBE_INTERCEPT_DESKTOP)
                            subtype = Subscription.SUBSCRIBE_INTERCEPT_DESKTOP;
                    }

                    //store the command ID we get back from the client instance
                    unsubscribe_cmdid = ttclient.DoUnsubscribe(this.userid, subtype);
                    e.Cancel = true;
                }
                else
                    e.Cancel = true;
            }
            else
                ttclient.OnUserDesktopWindow -= ttclient_OnUserDesktopWindow;
        }
Example #2
0
        void ttserver_OnUserCreateUserAccount(ref ClientErrorMsg lpClientErrorMsg, ref User lpUser, ref UserAccount lpUserAccount)
        {
            String str = String.Format("User {0} is creating useraccount {1}",
            lpUser.szUsername, lpUserAccount.szUsername);
            Console.WriteLine(str);

            switch (lpUser.uUserType)
            {
                case UserType.USERTYPE_ADMIN:

                    // remove existing user account
                    UserAccount ua = new UserAccount();
                    foreach (UserAccount u in useraccounts)
                    {
                        if (u.szUsername.Equals(lpUserAccount.szUsername))
                            ua = u;
                    }
                    useraccounts.Remove(ua);

                    // add user account to list
                    useraccounts.Add(lpUserAccount);

                    lpClientErrorMsg.nErrorNo = (int)ClientError.SUCCESS;
                    break;
                case UserType.USERTYPE_DEFAULT:
                    lpClientErrorMsg.nErrorNo = (int)ClientError.CMDERR_NOT_AUTHORIZED;
                    lpClientErrorMsg.szErrorMsg = "Not allowed!";
                    break;
                default:
                    break;
            }
        }
Example #3
0
 public void NewMessage(TextMessage msg)
 {
     User user = new User();
     if (!ttclient.GetUser(msg.nFromUserID, ref user))
         return;
     this.Text = "Message - " + user.szNickname;
     historyTextBox.AppendText("<" + user.szNickname + "> " + msg.szMessage + Environment.NewLine);
 }
Example #4
0
        public VideoDlg(TeamTalk tt, int userid)
        {
            ttclient = tt;
            this.userid = userid;
            InitializeComponent();
            this.CenterToScreen();

            User user = new User();
            if (userid > 0 && ttclient.GetUser(userid, ref user))
                this.Text = "Video - " + user.szNickname;
            else
                this.Text = "Local Video";

            ttclient.OnUserVideoCapture += new TeamTalk.UserVideoFrame(ttclient_OnUserVideoFrame);
        }
Example #5
0
        void ttserver_OnUserAddServerBanIPAddress(ref ClientErrorMsg lpClientErrorMsg, ref User lpBanner, string szIPAddress)
        {
            UserAccount ua = getUserAccount(lpBanner.szUsername);

            if ((ua.uUserRights & UserRight.USERRIGHT_BAN_USERS) != 0)
            {
                lpClientErrorMsg.nErrorNo = (int)ClientError.SUCCESS;
                banned_ipaddr.Add(szIPAddress);
            }
            else
            {
                lpClientErrorMsg.nErrorNo = (int)ClientError.CMDERR_NOT_AUTHORIZED;
                lpClientErrorMsg.szErrorMsg = "Not allowed!";
            }
        }
Example #6
0
 void ttclient_OnCmdUserLoggedIn(User user)
 {
     ListViewItem item = new ListViewItem();
     item.Text = user.nUserID.ToString();
     item.SubItems.Add(user.szNickname);
     item.SubItems.Add(user.szUsername);
     string chanpath = "";
     if (user.nChannelID > 0)
         ttclient.GetChannelPath(user.nChannelID, ref chanpath);
     item.SubItems.Add(chanpath);
     item.SubItems.Add(user.szIPAddress);
     item.SubItems.Add(user.szStatusMsg);
     item.SubItems.Add((user.uUserType & UserType.USERTYPE_ADMIN) == UserType.USERTYPE_ADMIN ? "Admin" : "Default");
     item.SubItems.Add(user.nUserData.ToString());
     item.Tag = user.nUserID;
     listview.Items.Add(item);
 }
Example #7
0
 void UpdateUser()
 {
     User user = new User();
     if (ttclient.GetUser(userid, ref user))
     {
         useridTextBox.Text = user.nUserID.ToString();
         nicknameTextBox.Text = user.szNickname;
         usernameTextBox.Text = user.szUsername;
         statusmodeTextBox.Text = user.nStatusMode.ToString();
         statusmsgTextBox.Text = user.szStatusMsg;
         usertypeTextBox.Text = (user.uUserType & UserType.USERTYPE_ADMIN) == UserType.USERTYPE_ADMIN ? "Admin" : "Default";
         versionTextBox.Text = user.uVersion.ToString();
     }
     UserStatistics stats = new UserStatistics();
     if (ttclient.GetUserStatistics(userid, ref stats))
     {
         audiolossTextBox.Text = String.Format("{0}/{1}", stats.nVoicePacketsLost, stats.nVoicePacketsRecv + stats.nVoicePacketsLost);
         videolossTextBox.Text = String.Format("{0}/{1}", stats.nVideoCaptureFramesLost, stats.nVideoCaptureFramesRecv + stats.nVideoCaptureFramesLost);
     }
 }
Example #8
0
 void ttclient_OnCmdUserTextMessage(TextMessage textmessage)
 {
     switch (textmessage.nMsgType)
     {
         case TextMsgType.MSGTYPE_USER :
             MessageDlg dlg;
             if (msgdialogs.TryGetValue(textmessage.nFromUserID, out dlg))
             {
                 dlg.NewMessage(textmessage);
                 if (!dlg.Visible)
                     dlg.Show();
             }
             else
             {
                 dlg = new MessageDlg(ttclient, textmessage.nFromUserID);
                 dlg.FormClosed += new FormClosedEventHandler(dlg_MessageDlgClosed);
                 dlg.NewMessage(textmessage);
                 dlg.Show();
                 msgdialogs.Add(textmessage.nFromUserID, dlg);
             }
             break;
         case TextMsgType.MSGTYPE_CHANNEL:
             {
                 User user = new User();
                 if (ttclient.GetUser(textmessage.nFromUserID, ref user))
                     chatTextBox.AppendText("<" + user.szNickname + "> " + textmessage.szMessage + Environment.NewLine);
                 break;
             }
         case TextMsgType.MSGTYPE_BROADCAST:
             {
                 User user = new User();
                 if (ttclient.GetUser(textmessage.nFromUserID, ref user))
                 {
                     MessageBox.Show("Broadcast message from " + user.szNickname + Environment.NewLine +
                                     textmessage.szMessage);
                 }
             }
             break;
         case TextMsgType.MSGTYPE_CUSTOM:
             {
             }
             break;
     }
 }
Example #9
0
        void ttclient_OnCmdUserLeftChannel(User user)
        {
            if (user.nChannelID == ttclient.GetMyChannelID())
                AddStatusMessage(user.szNickname + " left channel");
            UpdateControls();

            //if user has sent desktopinput ensure keys are released
            closeUserDesktopInput(user.nUserID);
        }
Example #10
0
        void ttclient_OnCmdUserJoinedChannel(User user)
        {
            //set default gain level for user (software gain volume)
            if (user.nChannelID == ttclient.GetMyChannelID())
                AddStatusMessage(user.szNickname + " joined channel");

            UpdateControls();
        }
Example #11
0
 void ttclient_OnCmdUserJoinedChannel(User user)
 {
     if(user.nUserID == ttclient.UserID)
         listview.Items.Clear(); //ensure we don't get dublicates if joining again
 }
Example #12
0
 void ttserver_OnChannelUpdated(ref Channel lpChannel, ref User lpUser)
 {
     String str = String.Format("Channel #{0} updated",
                    lpChannel.nChannelID);
     Console.WriteLine(str);
 }
Example #13
0
        private void subscribeCommon(int userid, Subscription sub)
        {
            User user = new User();
            if (!ttclient.GetUser(userid, ref user))
                return;

            if ((user.uLocalSubscriptions & sub) == sub)
                ttclient.DoUnsubscribe(userid, sub);
            else
                ttclient.DoSubscribe(userid, sub);
        }
Example #14
0
 private void kickToolStripMenuItem_Click(object sender, EventArgs e)
 {
     User user = new User();
     if (!ttclient.GetUser(channels.GetSelectedUser(), ref user))
         return;
     //pass 0 as 'nChannelID' to kick from server instead of channel
     ttclient.DoKickUser(user.nUserID, user.nChannelID);
 }
Example #15
0
 private void mutevoiceToolStripMenuItem_Click(object sender, EventArgs e)
 {
     User user = new User();
     if(ttclient.GetUser(channels.GetSelectedUser(), ref user))
         ttclient.SetUserMute(user.nUserID, StreamType.STREAMTYPE_VOICE, !user.uUserState.HasFlag(UserState.USERSTATE_MUTE_VOICE));
 }
Example #16
0
 /**
  * @brief Get the user with the specified ID.
  *
  * @param nUserID The ID of the user to extract.
  * @param lpUser A preallocated #BearWare.User struct.
  * @see GetUserByUsername */
 public bool GetUser(int nUserID, ref User lpUser)
 {
     return TTDLL.TT_GetUser(m_ttInst, nUserID, ref lpUser);
 }
Example #17
0
 /**
  * @brief Get the user with the specified username.
  *
  * Remember to take into account that multiple users can log in
  * with the same account if ::USERRIGHT_MULTI_LOGIN is specified.
  *
  * @param szUsername The user's username (from #BearWare.UserAccount).
  * @param lpUser A preallocated #BearWare.User struct. */
 public bool GetUserByUsername(string szUsername, ref User lpUser)
 {
     return TTDLL.TT_GetUserByUsername(m_ttInst, szUsername, ref lpUser);
 }
Example #18
0
 /**
  * @brief Get all the users on the server.
  *
  * If only users in a specific channel is needed call
  * TeamTalk.GetChannelUsers()
  *
  * @param lpUsers An output array of #BearWare.User which will receive the
  * users on the server.
  * @see GetChannelUsers
  * @see GetUser */
 public bool GetServerUsers(out User[] lpUsers)
 {
     int count = 0;
     bool b = TTDLL.TT_GetServerUsers_NULL(m_ttInst, IntPtr.Zero, ref count);
     User[] users = new User[count];
     b = TTDLL.TT_GetServerUsers(m_ttInst, users, ref count);
     lpUsers = b ? users : null;
     return b;
 }
Example #19
0
 /**
  * @brief Get the IDs of all users in a channel.
  *
  * @param nChannelID The channel's ID.
  * @param lpUsers An output array of User which will receive the
  * users in the channel.
  * @see BearWare.User
  * @see GetChannel */
 public bool GetChannelUsers(int nChannelID, out User[] lpUsers)
 {
     int count = 0;
     bool b = TTDLL.TT_GetChannelUsers_NULL(m_ttInst, nChannelID, IntPtr.Zero, ref count);
     User[] users = new User[count];
     b = TTDLL.TT_GetChannelUsers(m_ttInst, nChannelID, users, ref count);
     lpUsers = b ? users : null;
     return b;
 }
Example #20
0
 void ttserver_OnSaveServerConfig(ref User lpUser)
 {
     String str = String.Format("Server settings saved");
     Console.WriteLine(str);
 }
Example #21
0
 void ttclient_OnUserRecordMediaFile(int nUserID, MediaFileInfo mediafileinfo)
 {
     User user = new User();
     ttclient.GetUser(nUserID, ref user);
     switch (mediafileinfo.nStatus)
     {
         case MediaFileStatus.MFS_STARTED :
             AddStatusMessage("Start audio file for " + user.szNickname);
             break;
         case MediaFileStatus.MFS_FINISHED:
             AddStatusMessage("Finished audio file for " + user.szNickname);
             break;
         case MediaFileStatus.MFS_ERROR:
             AddStatusMessage("Error writing audio file for " + user.szNickname);
             break;
         case MediaFileStatus.MFS_ABORTED:
             AddStatusMessage("Aborted audio file for " + user.szNickname);
             break;
     }
 }
Example #22
0
 void ttserver_OnFileUploaded(ref RemoteFile lpRemoteFile, ref User lpUser)
 {
     String str = String.Format("File {0} uploaded to channel #{1}",
                           lpRemoteFile.szFileName, lpRemoteFile.nChannelID);
     Console.WriteLine(str);
 }
Example #23
0
        private void opDeOpToolStripMenuItem_Click(object sender, EventArgs e)
        {
            User user = new User();
            if (!ttclient.GetUser(channels.GetSelectedUser(), ref user))
                return;

            ttclient.DoChannelOp(user.nUserID, user.nChannelID, 
                !ttclient.IsChannelOperator(user.nUserID, user.nChannelID));
        }
Example #24
0
        private void treeView1_DragDrop(object sender, DragEventArgs e)
        {
            Point p = ((TreeView)sender).PointToClient(new Point(e.X, e.Y));
            TreeNode targetNode = ((TreeView)sender).GetNodeAt(p);
            if (targetNode == null)
                return;
            int chanid = 0;
            switch (targetNode.ImageIndex)
            {
                case (int)ChannelsView.ImageIndex.CHANNEL:
                    chanid = (int)targetNode.Tag;
                    break;
                case (int)ChannelsView.ImageIndex.USER:
                    User user = new User();
                    if(ttclient.GetUser((int)targetNode.Tag, ref user))
                        chanid = user.nChannelID;
                    break;
            }
            if (chanid == 0)
                return;

            TreeNode sourceNode = (TreeNode)e.Data.GetData("System.Windows.Forms.TreeNode");
            ttclient.DoMoveUser((int)sourceNode.Tag, chanid);
        }
Example #25
0
 private void kickAndBanToolStripMenuItem_Click(object sender, EventArgs e)
 {
     User user = new User();
     if (!ttclient.GetUser(channels.GetSelectedUser(), ref user))
         return;
     //Req. UserRight.USERRIGHT_BAN_USERS
     //Req. UserRight.USERRIGHT_KICK_USERS
     ttclient.DoBanUser(user.nUserID, 0);
     ttclient.DoKickUser(user.nUserID, user.nChannelID);
 }
Example #26
0
        void UpdateControls()
        {
            ClientFlag flags = ttclient.Flags;
            UserType myusertype = ttclient.UserType;
            ServerProperties srvprop = new ServerProperties();

            if ((flags & ClientFlag.CLIENT_CONNECTED) != ClientFlag.CLIENT_CONNECTED)
                ResetControls();

            ttclient.GetServerProperties(ref srvprop);

            int userid = channels.GetSelectedUser();
            int channelid = channels.GetSelectedChannel();

            connectToolStripMenuItem.Text =
                ((flags & ClientFlag.CLIENT_CONNECTED) == ClientFlag.CLIENT_CONNECTED ||
                (flags & ClientFlag.CLIENT_CONNECTING) == ClientFlag.CLIENT_CONNECTING) ? "Disconnect" : "Connect";

            changeNicknameToolStripMenuItem.Enabled = flags.HasFlag(ClientFlag.CLIENT_AUTHORIZED);
            changeStatusModeToolStripMenuItem.Enabled = flags.HasFlag(ClientFlag.CLIENT_AUTHORIZED);
            enableDesktopSharingToolStripMenuItem.Enabled = flags.HasFlag(ClientFlag.CLIENT_AUTHORIZED);
            enableDesktopSharingToolStripMenuItem.Checked = flags.HasFlag(ClientFlag.CLIENT_DESKTOP_ACTIVE);

            muteAllToolStripMenuItem.Enabled = flags.HasFlag(ClientFlag.CLIENT_SNDOUTPUT_READY);
            muteAllToolStripMenuItem.Checked = flags.HasFlag(ClientFlag.CLIENT_SNDOUTPUT_MUTE);
            storeAudioToDiskToolStripMenuItem.Enabled = flags.HasFlag(ClientFlag.CLIENT_AUTHORIZED);
            storeAudioToDiskToolStripMenuItem.Checked = settings.audiofolder.Length > 0;

            User user = new User();
            if (userid > 0 && ttclient.GetUser(userid, ref user))
            {
                Debug.Assert((flags & ClientFlag.CLIENT_AUTHORIZED) == ClientFlag.CLIENT_AUTHORIZED);
                viewUserInformationToolStripMenuItem.Enabled = true;
                sendMessageToolStripMenuItem.Enabled = true;
                opDeOpToolStripMenuItem.Enabled = true;
                mutevoiceToolStripMenuItem.Enabled = true;
                mutevoiceToolStripMenuItem.Checked = user.uUserState.HasFlag(UserState.USERSTATE_MUTE_VOICE);
                kickToolStripMenuItem.Enabled = true;
                kickAndBanToolStripMenuItem.Enabled = true;
                subscriptionsToolStripMenuItem.Enabled = true;
                allowDesktopAccessToolStripMenuItem.Enabled = true;
                allowDesktopAccessToolStripMenuItem.Checked = user.uLocalSubscriptions.HasFlag(Subscription.SUBSCRIBE_DESKTOPINPUT);

                userMessagesToolStripMenuItem.Checked = user.uLocalSubscriptions.HasFlag(Subscription.SUBSCRIBE_USER_MSG);
                channelMessagesToolStripMenuItem.Checked = user.uLocalSubscriptions.HasFlag(Subscription.SUBSCRIBE_CHANNEL_MSG);
                broadcastMessagesToolStripMenuItem.Checked = user.uLocalSubscriptions.HasFlag(Subscription.SUBSCRIBE_BROADCAST_MSG);
                voiceToolStripMenuItem.Checked = user.uLocalSubscriptions.HasFlag(Subscription.SUBSCRIBE_VOICE);
                videocaptureToolStripMenuItem.Checked = user.uLocalSubscriptions.HasFlag(Subscription.SUBSCRIBE_VIDEOCAPTURE);
                desktopToolStripMenuItem.Checked = user.uLocalSubscriptions.HasFlag(Subscription.SUBSCRIBE_DESKTOP);
                desktopAccessToolStripMenuItem.Checked = user.uLocalSubscriptions.HasFlag(Subscription.SUBSCRIBE_DESKTOPINPUT);
                interceptUserMessagesToolStripMenuItem.Checked = user.uLocalSubscriptions.HasFlag(Subscription.SUBSCRIBE_INTERCEPT_USER_MSG);
                interceptUserMessagesToolStripMenuItem.Enabled = myusertype.HasFlag(UserType.USERTYPE_ADMIN);
                interceptChannelMessagesToolStripMenuItem.Checked = user.uLocalSubscriptions.HasFlag(Subscription.SUBSCRIBE_INTERCEPT_CHANNEL_MSG);
                interceptChannelMessagesToolStripMenuItem.Enabled = myusertype.HasFlag(UserType.USERTYPE_ADMIN);
                interceptvoiceToolStripMenuItem.Checked = user.uLocalSubscriptions.HasFlag(Subscription.SUBSCRIBE_INTERCEPT_VOICE);
                interceptvoiceToolStripMenuItem.Enabled = myusertype.HasFlag(UserType.USERTYPE_ADMIN);
                interceptvideocaptureToolStripMenuItem.Checked = user.uLocalSubscriptions.HasFlag(Subscription.SUBSCRIBE_INTERCEPT_VIDEOCAPTURE);
                interceptvideocaptureToolStripMenuItem.Enabled = myusertype.HasFlag(UserType.USERTYPE_ADMIN);
                interceptDesktopToolStripMenuItem.Checked = user.uLocalSubscriptions.HasFlag(Subscription.SUBSCRIBE_INTERCEPT_DESKTOP);
                interceptDesktopToolStripMenuItem.Enabled = myusertype.HasFlag(UserType.USERTYPE_ADMIN);

                advancedToolStripMenuItem.Enabled = true;

                Channel userchan = new Channel();
                if (ttclient.GetChannel(user.nChannelID, ref userchan))
                {
                    allowVoiceTransmissionToolStripMenuItem.Checked = userchan.GetTransmitStreamTypes(user.nUserID).HasFlag(StreamType.STREAMTYPE_VOICE);
                    allowVideoTransmissionToolStripMenuItem.Checked = userchan.GetTransmitStreamTypes(user.nUserID).HasFlag(StreamType.STREAMTYPE_VIDEOCAPTURE);
                    allowVoiceTransmissionToolStripMenuItem.Enabled = userchan.uChannelType.HasFlag(ChannelType.CHANNEL_CLASSROOM);
                    allowVideoTransmissionToolStripMenuItem.Enabled = userchan.uChannelType.HasFlag(ChannelType.CHANNEL_CLASSROOM);
                }
            }
            else
            {
                viewUserInformationToolStripMenuItem.Enabled = false;
                sendMessageToolStripMenuItem.Enabled = false;
                opDeOpToolStripMenuItem.Enabled = false;
                mutevoiceToolStripMenuItem.Enabled = false;
                kickToolStripMenuItem.Enabled = false;
                kickAndBanToolStripMenuItem.Enabled = false;
                allowDesktopAccessToolStripMenuItem.Enabled = false;
                subscriptionsToolStripMenuItem.Enabled = false;
                advancedToolStripMenuItem.Enabled = false;
                allowVoiceTransmissionToolStripMenuItem.Enabled = false;
                allowVideoTransmissionToolStripMenuItem.Enabled = false;
            }

            Channel chan = new Channel();
            if (channelid > 0 && ttclient.GetChannel(channelid, ref chan))
            {
                Debug.Assert((flags & ClientFlag.CLIENT_AUTHORIZED) == ClientFlag.CLIENT_AUTHORIZED);
                joinChannelToolStripMenuItem.Enabled = flags.HasFlag(ClientFlag.CLIENT_AUTHORIZED);
                joinNewChannelToolStripMenuItem.Enabled = flags.HasFlag(ClientFlag.CLIENT_AUTHORIZED);
                viewChannelInformationToolStripMenuItem.Enabled = flags.HasFlag(ClientFlag.CLIENT_AUTHORIZED);
                createChannelToolStripMenuItem.Enabled = flags.HasFlag(ClientFlag.CLIENT_AUTHORIZED);
                updateChannelToolStripMenuItem.Enabled = flags.HasFlag(ClientFlag.CLIENT_AUTHORIZED);
                deleteChannelToolStripMenuItem.Enabled = flags.HasFlag(ClientFlag.CLIENT_AUTHORIZED);
                streamMediaFileToChannelToolStripMenuItem.Enabled = flags.HasFlag(ClientFlag.CLIENT_AUTHORIZED);
            }
            else
            {
                joinChannelToolStripMenuItem.Enabled = false;
                joinNewChannelToolStripMenuItem.Enabled = flags.HasFlag(ClientFlag.CLIENT_AUTHORIZED);
                viewChannelInformationToolStripMenuItem.Enabled = false;
                createChannelToolStripMenuItem.Enabled = flags.HasFlag(ClientFlag.CLIENT_AUTHORIZED);
                updateChannelToolStripMenuItem.Enabled = false;
                deleteChannelToolStripMenuItem.Enabled = false;
                streamMediaFileToChannelToolStripMenuItem.Enabled = false;
            }

            listUserAccountsToolStripMenuItem.Enabled = myusertype.HasFlag(UserType.USERTYPE_ADMIN);
            serverPropertiesToolStripMenuItem.Enabled = flags.HasFlag(ClientFlag.CLIENT_AUTHORIZED);
            saveConfigurationToolStripMenuItem.Enabled = myusertype.HasFlag(UserType.USERTYPE_ADMIN);
            broadcastTestMessageToolStripMenuItem.Enabled = flags.HasFlag(ClientFlag.CLIENT_AUTHORIZED);
            serverStatisticsToolStripMenuItem.Enabled = myusertype.HasFlag(UserType.USERTYPE_ADMIN);
        }
Example #27
0
        void ttserver_OnUserLogin(ref ClientErrorMsg lpClientErrorMsg, ref User lpUser, ref UserAccount lpUserAccount)
        {
            String str = String.Format("Login attempt from IP {0}, username={1}, password={2}",
                           lpUser.szIPAddress, lpUserAccount.szUsername,
                           lpUserAccount.szPassword);
            Console.WriteLine(str);

            foreach (UserAccount u in useraccounts)
            {
                // validate user account
                if (u.szUsername.Equals(lpUserAccount.szUsername) &&
                   u.szPassword.Equals(lpUserAccount.szPassword))
                {
                    // manually copy every field
                    lpUserAccount.szUsername = u.szUsername;
                    lpUserAccount.szPassword = u.szPassword;
                    lpUserAccount.uUserRights = u.uUserRights;
                    lpUserAccount.uUserType = UserType.USERTYPE_ADMIN;
                    lpClientErrorMsg.nErrorNo = (int)ClientError.SUCCESS;
                    return;
                }
            }

            // login rejected
            lpClientErrorMsg.nErrorNo = (int)ClientError.CMDERR_INVALID_ACCOUNT;
            lpClientErrorMsg.szErrorMsg = "Invalid username or password";
        }
Example #28
0
 void ttclient_OnCmdUserLoggedIn(User user)
 {
     //store audio to disk if an audio-folder has been specified
     if (!settings.muxed_audio_file && settings.audiofolder.Length > 0)
         ttclient.SetUserMediaStorageDir(user.nUserID, settings.audiofolder, "", settings.aff);
 }
Example #29
0
        private void allowVideoTransmissionToolStripMenuItem_Click(object sender, EventArgs e)
        {
            User user = new User();
            Channel chan = new Channel();
            if (ttclient.GetUser(channels.GetSelectedUser(), ref user) &&
                ttclient.GetChannel(user.nChannelID, ref chan))
            {
                if (allowVideoTransmissionToolStripMenuItem.Checked)
                {
                    if (chan.GetTransmitStreamTypes(user.nUserID) == StreamType.STREAMTYPE_NONE &&
                        chan.GetTransmitUserCount() >= TeamTalk.TT_TRANSMITUSERS_MAX)
                        MessageBox.Show("Maximum users to transmit is " + TeamTalk.TT_TRANSMITUSERS_MAX.ToString());
                    else
                        chan.AddTransmitUser(user.nUserID, StreamType.STREAMTYPE_VIDEOCAPTURE);
                }
                else
                    chan.RemoveTransmitUser(user.nUserID, StreamType.STREAMTYPE_VIDEOCAPTURE);

                ttclient.DoUpdateChannel(chan);
            }
        }
Example #30
0
 void ttserver_OnServerUpdated(ref ServerProperties lpServerProperties, ref User lpUser)
 {
     String str = String.Format("Server properties updated, name is now {0}",
                            lpServerProperties.szServerName);
     Console.WriteLine(str);
 }