aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/Common-Source/OpenSim.Framework/UserProfile.cs
blob: f95a8fa9f4df8b31b94b236251c74716cd70effb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
using System;
using System.Collections.Generic;
using System.Text;
using libsecondlife;
using OpenSim.Framework.Inventory;
using System.Security.Cryptography;

namespace OpenSim.Framework.User
{
    public class UserProfile
    {

        public string firstname;
        public string lastname;
        public ulong homeregionhandle;
        public LLVector3 homepos;
        public LLVector3 homelookat;

        public bool IsGridGod = false;
        public bool IsLocal = true;	// will be used in future for visitors from foreign grids
        public string AssetURL;
        public string MD5passwd;

        public LLUUID CurrentSessionID;
        public LLUUID CurrentSecureSessionID;
        public LLUUID UUID;
        public Dictionary<LLUUID, uint> Circuits = new Dictionary<LLUUID, uint>();	// tracks circuit codes

        public AgentInventory Inventory;

        public UserProfile()
        {
            Circuits = new Dictionary<LLUUID, uint>();
            Inventory = new AgentInventory();
            homeregionhandle = Helpers.UIntsToLong((997 * 256), (996 * 256));
            homepos = new LLVector3();
	    homelookat = new LLVector3();
        }

        public void InitSessionData()
        {
            RNGCryptoServiceProvider rand = new RNGCryptoServiceProvider();

            byte[] randDataS = new byte[16];
            byte[] randDataSS = new byte[16];

            rand.GetBytes(randDataS);
            rand.GetBytes(randDataSS);

            CurrentSecureSessionID = new LLUUID(randDataSS,0);
            CurrentSessionID = new LLUUID(randDataS,0);
            
        }

        public void AddSimCircuit(uint circuitCode, LLUUID regionUUID)
        {
            if (this.Circuits.ContainsKey(regionUUID) == false)
                this.Circuits.Add(regionUUID, circuitCode);
        }

    }
}