Pages

Game Database Perfect World

GameDB guide
Hello,

I'm back to PW Development (been busy a lot since I was busy with lots of Universities tasks given, damn)

Here are the constructors, methods, behaviors, operational commands for classname GameDB and Faction related. Other than that, view bottom for more classes. All credits to me

Class Name : RoleBean (For Character/Role Information)
PHP Code:


package protocol;import com.goldhuman.Common.Octets;import com.goldhuman.IO.Protocol.Rpc.Data.DataVector;

public class 
RoleBean{
  public static final 
int MAGIC_CLASS 5;
  public 
User user;
  public 
GRoleBase base;
  public 
GRoleStatus status;
  public 
GRolePocket pocket;
  public 
Rpc.Data.DataVector equipment;
  public 
GRoleStorehouse storehouse;
  public 
GRoleTask task;
  public 
extend_prop ep = new extend_prop();

  public 
RoleBean() {
    
this.user = new User();
    
this.base = new GRoleBase();
    
this.status = new GRoleStatus();
    
this.pocket = new GRolePocket();
    
this.equipment = new Rpc.Data.DataVector(new GRoleInventory());
    
this.storehouse = new GRoleStorehouse();
    
this.task = new GRoleTask();
  }

  public 
String getLogString()
  {
    
String n "";
    try { 
this.base.name.getString(); } catch (Exception e) { e.printStackTrace(); }
    return new 
String("roleid=" this.base.id ",name=" ",level=" this.status.level ",level2=" this.status.level2 ",exp=" this.status.exp ",sp=" this.status.sp ",pp=" this.status.pp ",money=" this.pocket.money);
  }

  public 
boolean SetGRoleStatus(GRoleStatus status)
  {
    if (
null == status) {
      return 
false;
    }
    
this.status status;
    
this.ep = new extend_prop();

    return 
this.ep.set(status.property.getBytes());
  }

  public 
GRoleStatus GetGRoleStatus()
  {
    
this.status.property.replace(this.ep.getBytes());
    return 
this.status;
  }

  public static 
String ClsName(int cls)
  {
    switch (
cls) {
    case 
0:
      return 
"武侠";
    case 
1:
      return 
"法师";
    case 
2:
      return 
"僧侣";
    case 
3:
      return 
"妖精";
    case 
4:
      return 
"妖兽";
    case 
5:
      return 
"魅灵";
    case 
6:
      return 
"羽芒";
    case 
7:
      return 
"羽灵";
    }return 
"未知";
  }

  public static 
String GenderName(byte gender)
  {
    return 
gender "女" "男";
  }

  public static 
String StatusName(int status)
  {
    if (
== status)
      return 
"正常";
    if (
== status)
      return 
"必须删除";
    if (
== status) {
      return 
"准备删除";
    }
    return 
"未知";
  }

  public class 
extend_prop
  
{
    public static final 
int MAGIC_CLASS 5;
    public 
int vitality;
    public 
int energy;
    public 
int strength;
    public 
int agility;
    public 
int max_hp;
    public 
int max_mp;
    public 
int hp_gen;
    public 
int mp_gen;
    public 
float walk_speed;
    public 
float run_speed;
    public 
float swim_speed;
    public 
float flight_speed;
    public 
int attack;
    public 
int damage_low;
    public 
int damage_high;
    public 
int attack_speed;
    public 
float attack_range;
    public 
int[] addon_damage_low;
    public 
int[] addon_damage_high;
    public 
int damage_magic_low;
    public 
int damage_magic_high;
    public 
int[] resistance;
    public 
int defense;
    public 
int armor;
    public 
int max_ap;

    public 
extend_prop()
    {
      
this.addon_damage_low = new int[5];
      
this.addon_damage_high = new int[5];
      
this.resistance = new int[5];
    }

    private 
int getInt(byte b1byte b2byte b3byte b4)
    {
      
int izero 0;
      return 
0xFF000000 b4 << 24 0xFF0000 b3 << 16 0xFF00 b2 << 0xFF b1;
    }

    private 
byte[] getBytes(int i)
    {
      
byte[] bts = new byte[4];
      
bts[0] = (byte)(0xFF i);
      
bts[1] = (byte)(0xFF >> 8);
      
bts[2] = (byte)(0xFF >> 16);
      
bts[3] = (byte)(0xFF >> 24);
      return 
bts;
    }

    private 
byte[] getByteArray(int[] ia) {
      
int n ia.length;
      
byte[] bts = new byte[4];
      for (
int i 0ni++)
      {
        
byte[] tbts getBytes(ia[i]);
        
bts[(4)] = tbts[0];
        
bts[(1)] = tbts[1];
        
bts[(2)] = tbts[2];
        
bts[(3)] = tbts[3];
      }
      return 
bts;
    }

    private 
int[] getIntArray(byte[] p) {
      
int n p.length 4;
      
int[] ip = new int[n];
      for (
int i 0ni++)
      {
        
ip[i] = getInt(p[(4)], p[(1)], p[(2)], p[(3)]);
      }
      return 
ip;
    }

    public 
boolean set(byte[] p) {
      if ((
null == p) || (p.length 144) || (p.length 148))
        return 
false;
      
int[] ip getIntArray(p);
      
this.vitality ip[0];
      
this.energy ip[1];
      
this.strength ip[2];
      
this.agility ip[3];
      
this.max_hp ip[4];
      
this.max_mp ip[5];
      
this.attack ip[12];
      
this.damage_low ip[13];
      
this.damage_high ip[14];
      for (
int i 05i++)
      {
        
this.addon_damage_low[i] = ip[(17 2)];
        
this.addon_damage_high[i] = ip[(18 2)];
      }
      
this.damage_magic_low ip[27];
      
this.damage_magic_high ip[28];
      for (
int i 05i++)
      {
        
this.resistance[i] = ip[(29 i)];
      }
      
this.defense ip[34];
      
this.armor ip[35];
      if (
p.length >= 148)
        
this.max_ap ip[36];
      return 
true;
    }

    public 
byte[] getBytes() {
      
int[] ip = new int[37];
      
ip[0] = this.vitality;
      
ip[1] = this.energy;
      
ip[2] = this.strength;
      
ip[3] = this.agility;
      
ip[4] = this.max_hp;
      
ip[5] = this.max_mp;
      
ip[12] = this.attack;
      
ip[13] = this.damage_low;
      
ip[14] = this.damage_high;

      for (
int i 05i++)
      {
        
ip[(17 2)] = this.addon_damage_low[i];
        
ip[(18 2)] = this.addon_damage_high[i];
      }
      
ip[27] = this.damage_magic_low;
      
ip[28] = this.damage_magic_high;
      for (
int i 05i++)
      {
        
ip[(29 i)] = this.resistance[i];
      }
      
ip[34] = this.defense;
      
ip[35] = this.armor;
      
ip[36] = this.max_ap;
      return 
getByteArray(ip);
    }
  }
}
/* Location:           D:\PW\MarHazK\
 * Qualified Name:     com.goldhuman.service.interfaces.RoleBean
 */  
Classname: GameDB
PHP Code:


package protocol;import com.goldhuman.Common.Octets;import com.goldhuman.IO.PollIO;import com.goldhuman.IO.Protocol.Protocol;import com.goldhuman.IO.Protocol.Rpc;import com.goldhuman.IO.Protocol.Rpc.Data.DataVector;

public class 
GameDB{
  public static final 
Object locker = new Object();
  public static 
ClientManager mgr = new ClientManager();

  public static 
void init()
    
throws InterruptedException
  
{
    
synchronized (mgr)
    {
      if (
null == mgr.s)
      {
        
Protocol.Client(mgr);
        
mgr.wait();
      }
    }
  }

  public static 
Rpc.Data.DataVector getRolelist(int useridthrows Exception {
    
init();
    if (
null == mgr.s)
      return 
null;
    
synchronized (locker)
    {
      
GetUserRolesArg arg = new GetUserRolesArg();
      
arg.userid userid;

      
GetUserRoles rpc = (GetUserRoles)Rpc.Call("GetUserRoles"arg);
      if (!
mgr.Send(mgr.srpc)) throw new Exception("网络连接未建立。(getRolelist)");
      
PollIO.WakeUp();
      
locker.wait();
      if (
== rpc.retcode) throw new Exception("网络通讯超时。(getRoleList)");
      if ((
!= rpc.retcode) || (rpc.userid == -1))
        return 
null;
      return 
rpc.roles;
    }
  }

  public static 
int getRoleIdByName(String rolenamethrows Exception {
    
init();
    if (
null == mgr.s)
      return -
1;
    
synchronized (locker)
    {
      
GetRoleIdArg arg = new GetRoleIdArg();
      
arg.rolename.setString(rolename);

      
GetRoleId rpc = (GetRoleId)Rpc.Call("GetRoleId"arg);
      if (!
mgr.Send(mgr.srpc)) throw new Exception("网络连接未建立。(getRoleIdByName)");
      
PollIO.WakeUp();
      
locker.wait();
      if (
== rpc.retcode) throw new Exception("网络通讯超时。(getRoleIdByName)");
      return 
rpc.roleid;
    }
  }

  public static 
int canChangeRolename(String rolenameint setcanchangethrows Exception {
    
init();
    if (
null == mgr.s)
      return -
1;
    
synchronized (locker)
    {
      
CanChangeRolenameArg arg = new CanChangeRolenameArg();
      
arg.rolename.setString(rolename);
      
arg.setcanchange setcanchange;

      
CanChangeRolename rpc = (CanChangeRolename)Rpc.Call("CanChangeRolename"arg);
      if (!
mgr.Send(mgr.srpc)) throw new Exception("网络连接未建立。(canChangeRolename)");
      
PollIO.WakeUp();
      
locker.wait();
      if (
== rpc.retcode) throw new Exception("网络通讯超时。(canChangeRolename)");
      return 
rpc.retcode;
    }
  }

  public static 
int clearStorehousePasswd(int roleidString rolenamethrows Exception {
    
init();
    if (
null == mgr.s) {
      return -
1;
    }
    
synchronized (locker)
    {
      
ClearStorehousePasswdArg arg = new ClearStorehousePasswdArg();
      
arg.roleid roleid;
      
arg.rolename.setString(rolename);

      
ClearStorehousePasswd rpc = (ClearStorehousePasswd)Rpc.Call("ClearStorehousePasswd"arg);
      if (!
mgr.Send(mgr.srpc)) return -1;
      
PollIO.WakeUp();
      
locker.wait();
      return 
rpc.retcode;
    }
  }

  public static 
int renameRole(int roleidString oldnameString newnamethrows Exception {
    
init();
    if (
null == mgr.s) {
      return -
1;
    }
    
synchronized (locker)
    {
      
RenameRoleArg arg = new RenameRoleArg();
      
arg.roleid roleid;
      
arg.oldname.setString(oldname);
      
arg.newname.setString(newname);

      
RenameRole rpc = (RenameRole)Rpc.Call("RenameRole"arg);
      if (!
mgr.Send(mgr.srpc)) return -1;
      
PollIO.WakeUp();
      
locker.wait();
      return 
rpc.retcode;
    }
  }

  public static 
int DBVerifyMaster(String rolenameString factionnamethrows Exception {
    
init();
    if (
null == mgr.s)
      return -
1;
    
synchronized (locker)
    {
      
DBVerifyMasterArg arg = new DBVerifyMasterArg();
      
arg.name.setString(rolename);
      
arg.faction.setString(factionname);

      
DBVerifyMaster rpc = (DBVerifyMaster)Rpc.Call("DBVerifyMaster"arg);
      if (!
mgr.Send(mgr.srpc)) return -1;
      
PollIO.WakeUp();
      
locker.wait();
      return 
rpc.retcode;
    }
  }

  public static 
boolean deleteRolePermanent(int roleidthrows InterruptedExceptionException
  
{
    
init();
    if (
null == mgr.s) {
      return 
false;
    }
    
synchronized (locker)
    {
      
DBDeleteRoleArg arg = new DBDeleteRoleArg();
      
arg.roleid roleid;

      
DBDeleteRole rpc = (DBDeleteRole)Rpc.Call("DBDeleteRole"arg);
      if (!
mgr.Send(mgr.srpc)) throw new Exception("网络连接未建立。(deleteRolePermanent)");
      
PollIO.WakeUp();
      
locker.wait();
      if (
== rpc.retcode) throw new Exception("网络通讯超时。(deleteRolePermanent)");
      return 
== rpc.retcode;
    }
  }

  public static 
int createRole(int useridXmlRole.Role role)
    
throws InterruptedExceptionException
  
{
    
init();
    if (
null == mgr.s) {
      return -
1;
    }
    
synchronized (locker)
    {
      
DBCreateRoleArg arg = new DBCreateRoleArg();
      
arg.roleid userid;
      
arg.roleinfo.roleid role.base.id;
      
arg.roleinfo.gender role.base.gender;
      
arg.roleinfo.race = (byte)role.base.race;
      
arg.roleinfo.occupation = (byte)role.base.cls;
      
arg.roleinfo.level role.status.level;
      
arg.roleinfo.name role.base.name;

      
DBCreateRole rpc = (DBCreateRole)Rpc.Call("DBCreateRole"arg);
      if (!
mgr.Send(mgr.srpc)) throw new Exception("网络连接未建立。(createRole)");
      
PollIO.WakeUp();
      
locker.wait();
      if (
== rpc.retcode) throw new Exception("网络通讯超时。(createRole)");
      if (
== rpc.retcode)
      {
        
role.base.id rpc.roleid;
        return 
rpc.roleid;
      }
      return 
rpc.retcode ? -rpc.retcode rpc.retcode;
    }
  }

  public static 
boolean moveRole(int roleidint newuserid)
    
throws InterruptedExceptionException
  
{
    
XmlRole.Role role XmlRole.getRoleFromDB(roleid);

    if (
null == role)
    {
      throw new 
Exception("GameDB moveRole. get roleid failed. roleid=" roleid);
    }
    if (
createRole(newuseridrole) < 0)
    {
      throw new 
Exception("GameDB moveRole. create new role failed. newuserid=" newuserid);
    }
    if (!
XmlRole.putRoleToDB(role.base.idrole))
    {
      if (!
deleteRolePermanent(role.base.id)) {
        throw new 
Exception("GameDB moveRole, put new role error and not left not delete. newroleid=" role.base.id "oldroleid=" roleid);
      }
      throw new 
Exception("GameDB moveRole. put new role failed. newroleid=" role.base.id);
    }
    if (!
deleteRolePermanent(roleid))
    {
      if (!
deleteRolePermanent(role.base.id)) {
        throw new 
Exception("GameDB moveRole, delete old role err and new role not delete. newroleid=" role.base.id "oldroleid=" roleid);
      }
      throw new 
Exception("GameDB moveRole, delete old role failed. old roleid=" roleid);
    }
    return 
true;
  }

  public static 
boolean putUser(int useridUser user)
    
throws InterruptedExceptionException
  
{
    
init();
    if (
null == mgr.s) {
      return 
false;
    }
    if (
null == user) return false;

    
synchronized (locker)
    {
      
UserPair arg = new UserPair();
      
arg.key.id userid;
      
arg.value user;

      
PutUser rpc = (PutUser)Rpc.Call("PutUser"arg);
      if (!
mgr.Send(mgr.srpc)) throw new Exception("网络连接未建立。(putUser)");
      
PollIO.WakeUp();
      
locker.wait();
      if (
== rpc.retcode) throw new Exception("网络通讯超时。(putUser)");
      return 
== rpc.retcode;
    }
  }

  public static 
boolean putRoleBase(int roleidGRoleBase base)
    
throws InterruptedExceptionException
  
{
    
init();
    if (
null == mgr.s) {
      return 
false;
    }
    if (
null == base) return false;

    
synchronized (locker)
    {
      
RoleBasePair arg = new RoleBasePair();
      
arg.key.id roleid;
      
arg.value base;

      
PutRoleBase rpc = (PutRoleBase)Rpc.Call("PutRoleBase"arg);
      if (!
mgr.Send(mgr.srpc)) throw new Exception("网络连接未建立。(putRoleBase)");
      
PollIO.WakeUp();
      
locker.wait();
      if (
== rpc.retcode) throw new Exception("网络通讯超时。(putRoleBase)");
      return 
== rpc.retcode;
    }
  }

  public static 
boolean putRoleStatus(int roleidGRoleStatus status)
    
throws InterruptedExceptionException
  
{
    
init();
    if (
null == mgr.s) {
      return 
false;
    }
    if (
null == status) return false;

    
synchronized (locker)
    {
      
RoleStatusPair arg = new RoleStatusPair();
      
arg.key.id roleid;
      
arg.value status;

      
PutRoleStatus rpc = (PutRoleStatus)Rpc.Call("PutRoleStatus"arg);
      if (!
mgr.Send(mgr.srpc)) throw new Exception("网络连接未建立。(putRoleStatus)");
      
PollIO.WakeUp();
      
locker.wait();
      if (
== rpc.retcode) throw new Exception("网络通讯超时。(putRoleStatus)");
      return 
== rpc.retcode;
    }
  }

  public static 
boolean putRolePocket(int roleidGRolePocket pocket)
    
throws InterruptedExceptionException
  
{
    
init();
    if (
null == mgr.s) {
      return 
false;
    }
    if (
null == pocket) return false;

    
synchronized (locker)
    {
      
RolePocketPair arg = new RolePocketPair();
      
arg.key.id roleid;
      
arg.value pocket;

      
PutRolePocket rpc = (PutRolePocket)Rpc.Call("PutRolePocket"arg);
      if (!
mgr.Send(mgr.srpc)) throw new Exception("网络连接未建立。(putRolePocket)");
      
PollIO.WakeUp();
      
locker.wait();
      if (
== rpc.retcode) throw new Exception("网络通讯超时。(putRolePocket)");
      return 
== rpc.retcode;
    }
  }

  public static 
boolean putRoleEquipment(int roleidRpc.Data.DataVector equipment)
    
throws InterruptedExceptionException
  
{
    
init();
    if (
null == mgr.s) {
      return 
false;
    }
    if (
null == equipment) return false;

    
synchronized (locker)
    {
      
RoleEquipmentPair arg = new RoleEquipmentPair();
      
arg.key.id roleid;
      
arg.equipment equipment;

      
PutRoleEquipment rpc = (PutRoleEquipment)Rpc.Call("PutRoleEquipment"arg);
      if (!
mgr.Send(mgr.srpc)) throw new Exception("网络连接未建立。(putRoleEquipment)");
      
PollIO.WakeUp();
      
locker.wait();
      if (
== rpc.retcode) throw new Exception("网络通讯超时。(putRoleEquipment)");
      return 
== rpc.retcode;
    }
  }

  public static 
boolean putRoleStorehouse(int roleidGRoleStorehouse storehouse)
    
throws InterruptedExceptionException
  
{
    
init();
    if (
null == mgr.s) {
      return 
false;
    }
    if (
null == storehouse) return false;

    
synchronized (locker)
    {
      
RoleStorehousePair arg = new RoleStorehousePair();
      
arg.key.id roleid;
      
arg.value storehouse;

      
PutRoleStorehouse rpc = (PutRoleStorehouse)Rpc.Call("PutRoleStorehouse"arg);
      if (!
mgr.Send(mgr.srpc)) throw new Exception("网络连接未建立。(putRoleStorehouse)");
      
PollIO.WakeUp();
      
locker.wait();
      if (
== rpc.retcode) throw new Exception("网络通讯超时。(putRoleStorehouse)");
      return 
== rpc.retcode;
    }
  }

  public static 
boolean putRoleTask(int roleidGRoleTask task)
    
throws InterruptedExceptionException
  
{
    
init();
    if (
null == mgr.s) {
      return 
false;
    }
    if (
null == task) return false;

    
synchronized (locker)
    {
      
RoleTaskPair arg = new RoleTaskPair();
      
arg.key.id roleid;
      
arg.value task;

      
PutRoleTask rpc = (PutRoleTask)Rpc.Call("PutRoleTask"arg);
      if (!
mgr.Send(mgr.srpc)) throw new Exception("网络连接未建立。(putRoleTask)");
      
PollIO.WakeUp();
      
locker.wait();
      if (
== rpc.retcode) throw new Exception("网络通讯超时。(putRoleTask)");
      return 
== rpc.retcode;
    }
  }

  public static 
User getUser(int userid)
    
throws Exception
  
{
    
init();
    if (
null == mgr.s)
      return 
null;
    
synchronized (locker)
    {
      
UserID arg = new UserID();
      
arg.id userid;

      
GetUser rpc = (GetUser)Rpc.Call("GetUser"arg);
      if (!
mgr.Send(mgr.srpc)) throw new Exception("网络连接未建立。(getUser)");
      
PollIO.WakeUp();
      
locker.wait();
      if (
== rpc.retcode) throw new Exception("网络通讯超时。(getUser)");
      if (
!= rpc.retcode)
        return 
null;
      return 
rpc.user;
    }
  }

  public static 
GRoleBase getRoleBase(int roleidthrows InterruptedExceptionException
  
{
    
init();
    if (
null == mgr.s) {
      return 
null;
    }
    
synchronized (locker)
    {
      
RoleId arg = new RoleId();
      
arg.id roleid;

      
GetRoleBase rpc = (GetRoleBase)Rpc.Call("GetRoleBase"arg);
      if (!
mgr.Send(mgr.srpc)) throw new Exception("网络连接未建立。(putRoleBase)");
      
PollIO.WakeUp();
      
locker.wait();
      if (
== rpc.retcode) throw new Exception("网络通讯超时。(getRoleBase)");
      return 
rpc.base;
    }
  }

  public static 
GRoleStatus getRoleStatus(int roleidthrows InterruptedExceptionException
  
{
    
init();
    if (
null == mgr.s) {
      return 
null;
    }
    
synchronized (locker)
    {
      
RoleId arg = new RoleId();
      
arg.id roleid;

      
GetRoleStatus rpc = (GetRoleStatus)Rpc.Call("GetRoleStatus"arg);
      if (!
mgr.Send(mgr.srpc)) throw new Exception("网络连接未建立。(getRoleStatus)");
      
PollIO.WakeUp();
      
locker.wait();
      if (
== rpc.retcode) throw new Exception("网络通讯超时。(getRoleStatus)");
      return 
rpc.status;
    }
  }

  public static 
GRolePocket getRolePocket(int roleidthrows InterruptedExceptionException
  
{
    
init();
    if (
null == mgr.s) {
      return 
null;
    }
    
synchronized (locker)
    {
      
RoleId arg = new RoleId();
      
arg.id roleid;

      
GetRolePocket rpc = (GetRolePocket)Rpc.Call("GetRolePocket"arg);
      if (!
mgr.Send(mgr.srpc)) throw new Exception("网络连接未建立。(getRolePocket)");
      
PollIO.WakeUp();
      
locker.wait();
      if (
== rpc.retcode) throw new Exception("网络通讯超时。(getRolePocket)");
      return 
rpc.pocket;
    }
  }

  public static 
Rpc.Data.DataVector getRoleEquipment(int roleid)
    
throws InterruptedExceptionException
  
{
    
init();
    if (
null == mgr.s) {
      return 
null;
    }
    
synchronized (locker)
    {
      
RoleId arg = new RoleId();
      
arg.id roleid;

      
GetRoleEquipment rpc = (GetRoleEquipment)Rpc.Call("GetRoleEquipment"arg);
      if (!
mgr.Send(mgr.srpc)) throw new Exception("网络连接未建立。(putRoleEquipment)");
      
PollIO.WakeUp();
      
locker.wait();
      if (
== rpc.retcode) throw new Exception("网络通讯超时。(getRoleEquipment)");
      return 
rpc.equipment;
    }
  }

  public static 
GRoleStorehouse getRoleStorehouse(int roleid)
    
throws InterruptedExceptionException
  
{
    
init();
    if (
null == mgr.s) {
      return 
null;
    }
    
synchronized (locker)
    {
      
RoleId arg = new RoleId();
      
arg.id roleid;

      
GetRoleStorehouse rpc = (GetRoleStorehouse)Rpc.Call("GetRoleStorehouse"arg);
      if (!
mgr.Send(mgr.srpc)) throw new Exception("网络连接未建立。(putRoleStorehouse)");
      
PollIO.WakeUp();
      
locker.wait();
      if (
== rpc.retcode) throw new Exception("网络通讯超时。(getRoleStorehouse)");
      return 
rpc.storehouse;
    }
  }

  public static 
GRoleTask getRoleTask(int roleid)
    
throws InterruptedExceptionException
  
{
    
init();
    if (
null == mgr.s) {
      return 
null;
    }
    
synchronized (locker)
    {
      
RoleId arg = new RoleId();
      
arg.id roleid;

      
GetRoleTask rpc = (GetRoleTask)Rpc.Call("GetRoleTask"arg);
      if (!
mgr.Send(mgr.srpc)) throw new Exception("网络连接未建立。(putRoleTask)");
      
PollIO.WakeUp();
      
locker.wait();
      if (
== rpc.retcode) throw new Exception("网络通讯超时。(getRoleTask)");
      return 
rpc.task;
    }
  }

  public static 
RoleBean get(int roleid)
    
throws InterruptedExceptionException
  
{
    
RoleBean bean = new RoleBean();
    
bean.base getRoleBase(roleid);
    
bean.user getUser(roleid 0xFFFFFFF0);
    
bean.SetGRoleStatus(getRoleStatus(roleid));
    
bean.pocket getRolePocket(roleid);
    
bean.equipment getRoleEquipment(roleid);
    
bean.storehouse getRoleStorehouse(roleid);
    
bean.task getRoleTask(roleid);
    if ((
null == bean.user) || (null == bean.base) || (null == bean.status))
      return 
null;
    return 
bean;
  }

  public static 
boolean update(RoleBean bean)
    
throws InterruptedExceptionException
  
{
    if (!
putRoleStatus(bean.base.idbean.GetGRoleStatus()))
      return 
false;
    if (!
putRolePocket(bean.base.idbean.pocket))
      return 
false;
    if (!
putRoleEquipment(bean.base.idbean.equipment))
      return 
false;
    if (!
putRoleStorehouse(bean.base.idbean.storehouse))
      return 
false;
    if (!
putRoleTask(bean.base.idbean.task)) {
      return 
false;
    }
    if ((
bean.base.id >= 16) && (bean.base.id 31))
    {
      
int newroleid == bean.base.id bean.base.id bean.base.id 1;
      return (
putRoleStatus(newroleidbean.GetGRoleStatus())) && (putRolePocket(newroleidbean.pocket)) && (putRoleEquipment(newroleidbean.equipment)) && (putRoleStorehouse(newroleidbean.storehouse)) && (putRoleTask(newroleidbean.task));
    }

    return 
true;
  }
}
/* Location:           D:\PW\MarHazK\
 * Qualified Name:     com.goldhuman.service.interfaces.GameDB
 */  
Class Name: GMservice
PHP Code:



package com
.goldhuman.service.interfaces;import java.util.Vector;

public abstract interface 
GMService{
  public abstract 
boolean GMPrivilegeChange(int paramIntLogInfo paramLogInfo);

  public abstract 
Complain[] fetchComplains(LogInfo paramLogInfo);

  public abstract 
boolean replyComplain(ComplainRe paramComplainReLogInfo paramLogInfo);

  public abstract 
MoveRoleResult moveRoleGetXML(Vector paramVectorLogInfo paramLogInfo);

  public abstract 
MoveRoleResult moveRolePutXML(Vector paramVectorLogInfo paramLogInfo);

  public abstract 
MoveRoleResult moveRoleForbid(Vector paramVectorLogInfo paramLogInfo);

  public abstract 
byte[] getRoleInfoXML(int paramIntLogInfo paramLogInfo);

  public abstract 
boolean putRoleInfoXML(int paramIntbyte[] paramArrayOfByteLogInfo paramLogInfo);

  public abstract 
int rolenameExists(String paramStringLogInfo paramLogInfo);

  public abstract 
int userRoleCount(Integer paramIntegerLogInfo paramLogInfo);

  public abstract 
Vector getRolelist(int paramIntLogInfo paramLogInfo);

  public abstract 
CashInfoBean getCashInfo(int paramIntLogInfo paramLogInfo);

  public abstract 
int getRoleIdByName(String paramStringLogInfo paramLogInfo);

  public abstract 
int getRoleLevelByName(String paramStringLogInfo paramLogInfo);

  public abstract 
int canChangeRolename(String paramStringLogInfo paramLogInfo);

  public abstract 
int presentGoods(int paramIntString paramStringVector paramVectorLogInfo paramLogInfo);

  public abstract 
int verifyFactionMaster(int paramIntString paramString1String paramString2LogInfo paramLogInfo);

  public abstract 
int clearStorehousePasswd(int paramIntString paramStringLogInfo paramLogInfo);

  public abstract 
int renameRole(int paramInt1int paramInt2String paramString1String paramString2LogInfo paramLogInfo);

  public abstract 
int deleteRole(int paramIntString paramStringLogInfo paramLogInfo);

  public abstract 
Vector getRoleForbid(int paramIntLogInfo paramLogInfo);

  public abstract 
int forbidRole(byte paramByteint paramInt1int paramInt2int paramInt3int paramInt4String paramStringLogInfo paramLogInfo);

  public abstract 
boolean broadCast(String paramStringLogInfo paramLogInfo);

  public abstract 
int getRoleLogStatus(int paramIntLogInfo paramLogInfo);

  public abstract 
boolean SetMaxOnlineNum(int paramInt1int paramInt2LogInfo paramLogInfo);

  public abstract 
String getServiceStatus(LogInfo paramLogInfo);

  public abstract 
boolean shutdownGameFriendly(int paramIntLogInfo paramLogInfo);

  public abstract 
boolean shutdownGame(LogInfo paramLogInfo);

  public abstract 
boolean restartGameInstance(LogInfo paramLogInfo);

  public abstract 
boolean restartGame(LogInfo paramLogInfo);

  public abstract 
boolean shutdownDb(LogInfo paramLogInfo);

  public abstract 
boolean restartDb(LogInfo paramLogInfo);

  public abstract 
boolean redistributeGame(LogInfo paramLogInfo);
}
/* Location:           D:\PW\MarHazK\
 * Qualified Name:     com.goldhuman.service.interfaces.GMService
 */  
Classname WorldChat
PHP Code:


package protocol;import com.goldhuman.Common.Marshal.MarshalException;import com.goldhuman.Common.Marshal.OctetsStream;import com.goldhuman.Common.Octets;import com.goldhuman.IO.Protocol.Manager;import com.goldhuman.IO.Protocol.Protocol;import com.goldhuman.IO.Protocol.ProtocolException;import com.goldhuman.IO.Protocol.Session;

public final class 
WorldChat extends Protocol{
  public 
byte channel;
  public 
byte emotion;
  public 
int roleid;
  public 
Octets name;
  public 
Octets msg;

  public 
WorldChat()
  {
    
this.name = new Octets();
    
this.msg = new Octets();
  }

  public 
OctetsStream marshal(OctetsStream os)
  {
    
os.marshal(this.channel);
    
os.marshal(this.emotion);
    
os.marshal(this.roleid);
    
os.marshal(this.name);
    
os.marshal(this.msg);
    return 
os;
  }

  public 
OctetsStream unmarshal(OctetsStream osthrows MarshalException
  
{
    
this.channel os.unmarshal_byte();
    
this.emotion os.unmarshal_byte();
    
this.roleid os.unmarshal_int();
    
os.unmarshal(this.name);
    
os.unmarshal(this.msg);
    return 
os;
  }

  public 
Object clone()
  {
    try
    {
      
WorldChat o = (WorldChat)super.clone();
      
o.name = ((Octets)this.name.clone());
      
o.msg = ((Octets)this.msg.clone());
      return 
o;
    } catch (
Exception e) {
    }
    return 
null;
  }

  public 
void Process(Manager managerSession session)
    
throws ProtocolException
  
{
  }
}
/* Location:           D:\PW\MarHazK\
 * Qualified Name:     com.goldhuman.service.interfaces.WorldChat
 */  
ClassName : User
PHP Code:


package protocol;import com.goldhuman.Common.Marshal.MarshalException;import com.goldhuman.Common.Marshal.OctetsStream;import com.goldhuman.Common.Octets;import com.goldhuman.IO.Protocol.Rpc.Data;import com.goldhuman.IO.Protocol.Rpc.Data.DataVector;

public final class 
User extends Rpc.Data{
  public 
int userid;
  public 
int rolelist;
  public 
int cash;
  public 
int money;
  public 
int cash_add;
  public 
int cash_buy;
  public 
int cash_sell;
  public 
int cash_used;
  public 
int add_serial;
  public 
int use_serial;
  public 
Rpc.Data.DataVector exg_log;
  public 
Octets addiction;
  public 
byte reserved0;
  public 
short reserved1;
  public 
int reserved2;
  public 
int reserved3;
  public 
int reserved4;

  public 
User()
  {
    
this.exg_log = new Rpc.Data.DataVector(new StockLog());
    
this.addiction = new Octets();
  }

  public 
OctetsStream marshal(OctetsStream os)
  {
    
os.marshal(this.userid);
    
os.marshal(this.rolelist);
    
os.marshal(this.cash);
    
os.marshal(this.money);
    
os.marshal(this.cash_add);
    
os.marshal(this.cash_buy);
    
os.marshal(this.cash_sell);
    
os.marshal(this.cash_used);
    
os.marshal(this.add_serial);
    
os.marshal(this.use_serial);
    
os.marshal(this.exg_log);
    
os.marshal(this.addiction);
    
os.marshal(this.reserved0);
    
os.marshal(this.reserved1);
    
os.marshal(this.reserved2);
    
os.marshal(this.reserved3);
    
os.marshal(this.reserved4);
    return 
os;
  }

  public 
OctetsStream unmarshal(OctetsStream osthrows MarshalException
  
{
    
this.userid os.unmarshal_int();
    
this.rolelist os.unmarshal_int();
    
this.cash os.unmarshal_int();
    
this.money os.unmarshal_int();
    
this.cash_add os.unmarshal_int();
    
this.cash_buy os.unmarshal_int();
    
this.cash_sell os.unmarshal_int();
    
this.cash_used os.unmarshal_int();
    
this.add_serial os.unmarshal_int();
    
this.use_serial os.unmarshal_int();
    
os.unmarshal(this.exg_log);
    
os.unmarshal(this.addiction);
    
this.reserved0 os.unmarshal_byte();
    
this.reserved1 os.unmarshal_short();
    
this.reserved2 os.unmarshal_int();
    
this.reserved3 os.unmarshal_int();
    
this.reserved4 os.unmarshal_int();
    return 
os;
  }

  public 
Object clone()
  {
    try
    {
      
User o = (User)super.clone();
      
o.exg_log = ((Rpc.Data.DataVector)this.exg_log.clone());
      
o.addiction = ((Octets)this.addiction.clone());
      return 
o;
    } catch (
Exception e) {
    }
    return 
null;
  }
}
/* Location:           D:\PW\MarHazK\
 * Qualified Name:     com.goldhuman.service.interfaces.User
 */  
ClassName : ChatBroadCast
PHP Code:


package protocol;import com.goldhuman.Common.Marshal.MarshalException;import com.goldhuman.Common.Marshal.OctetsStream;import com.goldhuman.Common.Octets;import com.goldhuman.IO.Protocol.Manager;import com.goldhuman.IO.Protocol.Protocol;import com.goldhuman.IO.Protocol.ProtocolException;import com.goldhuman.IO.Protocol.Session;

public final class 
ChatBroadCast extends Protocol{
  public 
byte channel;
  public 
byte emotion;
  public 
int srcroleid;
  public 
Octets msg;

  public 
ChatBroadCast()
  {
    
this.msg = new Octets();
  }

  public 
OctetsStream marshal(OctetsStream os)
  {
    
os.marshal(this.channel);
    
os.marshal(this.emotion);
    
os.marshal(this.srcroleid);
    
os.marshal(this.msg);
    return 
os;
  }

  public 
OctetsStream unmarshal(OctetsStream osthrows MarshalException
  
{
    
this.channel os.unmarshal_byte();
    
this.emotion os.unmarshal_byte();
    
this.srcroleid os.unmarshal_int();
    
os.unmarshal(this.msg);
    return 
os;
  }

  public 
Object clone()
  {
    try
    {
      
ChatBroadCast o = (ChatBroadCast)super.clone();
      
o.msg = ((Octets)this.msg.clone());
      return 
o;
    } catch (
Exception e) {
    }
    return 
null;
  }

  public 
void Process(Manager managerSession session)
    
throws ProtocolException
  
{
  }
}
/* Location:           D:\PW\MarHazK\
 * Qualified Name:     com.goldhuman.service.interfaces.ChatBroadCast
 */  
ClassName : DeliveryDB
PHP Code:


package protocol;import com.goldhuman.Common.Marshal.OctetsStream;import com.goldhuman.Common.Octets;import com.goldhuman.IO.PollIO;import com.goldhuman.IO.Protocol.Protocol;import com.goldhuman.IO.Protocol.Rpc;import java.io.PrintStream;import java.util.Collection;import java.util.Iterator;import java.util.Map;import java.util.Timer;import java.util.TimerTask;import java.util.TreeMap;

public class 
DeliveryDB{
  private static 
int tid_seed 1;
  private static 
Map map = new TreeMap();
  private static 
DeliveryDB instance;
  public static final 
Object locker;
  public static 
DeliveryClientManager mgr;

  public static 
void init()
    
throws Exception
  
{
    
synchronized (mgr)
    {
      if (
null == mgr.s)
      {
        
System.out.println("mgr.s is null , Protocol.Client(mgr)");
        
Protocol.Client(mgr);
        
mgr.wait();
      }
    }
  }

  public static 
boolean SysSendMail(int receiverString titleString contextGRoleInventory attach_objint attach_moneythrows Exception
  
{
    
init();
    if (
null == mgr.s) {
      return 
false;
    }
    
SysSendMail pc = (SysSendMail)Protocol.Create("SysSendMail");
    
pc.tid = (tid_seed++);
    
pc.sysid 32;
    
pc.sys_type 3;
    
pc.receiver receiver;
    
pc.title.setString(title);
    
pc.context.setString(context);
    
pc.attach_obj attach_obj;
    
pc.attach_money attach_money;

    
ProtocolWrapper pw = new ProtocolWrapper(35pc);
    
synchronized (map)
    {
      
map.put(new Integer(pc.tid), pw);
    }

    
synchronized (pw)
    {
      if (!
mgr.Send(mgr.spc))
        return 
false;
      
PollIO.WakeUp();
      
pw.wait();
      return 
== pw.retcode;
    }
  }

  public static 
void SysSendMail_Re(short retcodeint tid) {
    
ProtocolWrapper pw null;
    
synchronized (map)
    {
      
pw = (ProtocolWrapper)map.get(new Integer(tid));
      
map.remove(new Integer(tid));
    }

    
synchronized (pw)
    {
      
pw.retcode retcode;
      
pw.notify();
    }
  }

  public static 
GMControlGame_Re GMControlGame(int worldtagString commandthrows Exception {
    
init();
    if (
null == mgr.s) {
      return 
null;
    }
    
GMControlGame pc = (GMControlGame)Protocol.Create("GMControlGame");
    
pc.xid = (tid_seed++);
    
pc.worldtag worldtag;
    
pc.command.replace(command.getBytes("GBK"));

    
ProtocolWrapper pw = new ProtocolWrapper(35pc);
    
synchronized (map)
    {
      
map.put(new Integer(pc.xid), pw);
    }

    
synchronized (pw)
    {
      if (!
mgr.Send(mgr.spc))
        return 
null;
      
PollIO.WakeUp();
      
pw.wait();
      return (
GMControlGame_Re)pw.cookie;
    }
  }

  public static 
void GMControlGame_Re(GMControlGame_Re re) {
    
ProtocolWrapper pw null;
    
synchronized (map)
    {
      
pw = (ProtocolWrapper)map.get(new Integer(re.xid));
      
map.remove(new Integer(re.xid));
    }

    
synchronized (pw)
    {
      
pw.retcode re.retcode;
      
pw.cookie re;
      
pw.notify();
    }
  }

  public static 
int GMForbidRole(byte fbd_typeint gmroleidint localsidint dstroleidint forbid_timeString reasonthrows Exception
  
{
    
init();
    if (
null == mgr.s) {
      return -
1;
    }
    
GMForbidRole pc = (GMForbidRole)Protocol.Create("GMForbidRole");
    
pc.fbd_type fbd_type;
    
pc.gmroleid gmroleid;
    
pc.localsid localsid;
    
pc.dstroleid dstroleid;
    
pc.forbid_time forbid_time;
    
pc.reason.setString(reason);

    if (!
mgr.Send(mgr.spc))
      return -
1;
    
PollIO.WakeUp();
    return 
0;
  }

  public static 
void GMForbidRole_Re(int retcodebyte fbd_typeint dstroleidint forbid_time)
  {
    
ProtocolWrapper pw null;
    
synchronized (map)
    {
      
pw = (ProtocolWrapper)map.get(new Integer(-dstroleid));
      
map.remove(new Integer(-dstroleid));
    }

    
synchronized (pw)
    {
      
pw.retcode retcode;
      
pw.notify();
    }
  }

  public static 
boolean GMRestartServer(int gmroleidint restart_timethrows Exception {
    
init();
    if (
null == mgr.s)
      return 
false;
    
GMRestartServer restart = (GMRestartServer)Protocol.Create("GMRestartServer");
    
restart.gmroleid gmroleid;
    
restart.restart_time restart_time;
    
boolean r mgr.Send(mgr.srestart);
    
PollIO.WakeUp();
    return 
r;
  }

  public static 
boolean GMPrivilegeChange(int useridthrows Exception {
    
init();
    if (
null == mgr.s)
      return 
false;
    
GMPrivilegeChange gmpc = (GMPrivilegeChange)Protocol.Create("GMPrivilegeChange");
    
gmpc.userid userid;
    
boolean r mgr.Send(mgr.sgmpc);
    
PollIO.WakeUp();
    return 
r;
  }

  public static 
int getRoleLogStatus(int roleidthrows Exception {
    
init();
    if (
null == mgr.s)
      return -
1;
    
synchronized (locker)
    {
      
RoleId arg = new RoleId();
      
arg.id roleid;

      
GMQueryRoleInfo rpc = (GMQueryRoleInfo)Rpc.Call("GMQueryRoleInfo"arg);
      if (!
mgr.Send(mgr.srpc))
        return -
1;
      
PollIO.WakeUp();
      
locker.wait();
      return 
rpc.status;
    }
  }

  public static 
boolean broadcast(byte typeint roleidString msgthrows Exception {
    
init();
    if (
null == mgr.s)
      return 
false;
    
PublicChat pc = (PublicChat)Protocol.Create("PublicChat");
    
pc.msg.setString(msg);
    
pc.roleid roleid;
    
pc.channel type;
    
pc.emotion 0;
    
boolean r mgr.Send(mgr.spc);
    
PollIO.WakeUp();
    return 
r;
  }

  public static 
boolean replyComplain(int roleidint gmroleidString gmrolenameString msgthrows Exception
  
{
    
init();
    if (
null == mgr.s)
      return 
false;
    
PrivateChat pc = (PrivateChat)Protocol.Create("PrivateChat");
    
pc.msg.setString(msg);
    
pc.channel 5;
    
pc.srcroleid gmroleid;
    
pc.src_name.setString(gmrolename);
    
pc.dstroleid roleid;
    
boolean r mgr.Send(mgr.spc);
    
PollIO.WakeUp();
    return 
r;
  }

  public static 
boolean SetMaxOnlineNum(int maxnumint fakemaxnumthrows Exception {
    
init();
    if (
null == mgr.s)
      return 
false;
    
SetMaxOnlineNum proto = (SetMaxOnlineNum)Protocol.Create("SetMaxOnlineNum");
    
proto.maxnum maxnum;
    
proto.fake_maxnum fakemaxnum;
    
boolean r mgr.Send(mgr.sproto);
    
PollIO.WakeUp();
    return 
r;
  }

  public static 
boolean GetMaxOnlineNum(Integer[] curmaxthrows Exception {
    
init();
    if (
null == mgr.s) {
      return 
false;
    }
    
synchronized (locker)
    {
      
GetMaxOnlineNumArg arg = new GetMaxOnlineNumArg();
      
arg.padding 0;
      
GetMaxOnlineNum rpc = (GetMaxOnlineNum)Rpc.Call("GetMaxOnlineNum"arg);
      if (!
mgr.Send(mgr.srpc))
        return 
false;
      
PollIO.WakeUp();
      
locker.wait();
      if (
== rpc.retcode)
      {
        
curmax[0] = new Integer(rpc.maxnum);
        
curmax[1] = new Integer(rpc.fakemaxnum);
        
curmax[2] = new Integer(rpc.curnum);
      }
      return 
== rpc.retcode;
    }
  }

  public static 
boolean GMGetGameAttri(int gmroleidbyte attributeOctets[] valuesthrows Exception {
    
init();
    if (
null == mgr.s) {
      return 
false;
    }
    
synchronized (locker)
    {
      
GMGetGameAttriArg arg = new GMGetGameAttriArg();
      
arg.gmroleid gmroleid;
      
arg.localsid = -1;
      
arg.attribute attribute;
      
GMGetGameAttri rpc = (GMGetGameAttri)Rpc.Call("GMGetGameAttri"arg);
      if (!
mgr.Send(mgr.srpc))
        return 
false;
      
PollIO.WakeUp();
      
locker.wait();
      
values[0] = rpc.value;
      return (
null != rpc.value) && (rpc.value.size() > 0);
    }
  }

  public static 
boolean GMSetGameAttri(int gmroleidbyte attributeOctets valuethrows Exception {
    
init();
    if (
null == mgr.s) {
      return 
false;
    }
    
synchronized (locker)
    {
      
GMSetGameAttriArg arg = new GMSetGameAttriArg();
      
arg.gmroleid gmroleid;
      
arg.localsid = -1;
      
arg.attribute attribute;
      
arg.value value;
      
GMSetGameAttri rpc = (GMSetGameAttri)Rpc.Call("GMSetGameAttri"arg);
      if (!
mgr.Send(mgr.srpc))
        return 
false;
      
PollIO.WakeUp();
      
locker.wait();
      return 
== rpc.retcode;
    }
  }

  public static 
byte GMGetGameAttriByte(byte typethrows Exception {
    
Octets[] values = new Octets[1];
    if ((
GMGetGameAttri(-1typevalues)) && (null != values[0]) && (values[0].size() >= 1))
    {
      
OctetsStream os = new OctetsStream(values[0]);
      
byte status os.unmarshal_byte();
      return 
status;
    }
    return -
1;
  }

  public static 
boolean GMSetGameAttriByte(byte typebyte valuethrows Exception {
    
OctetsStream os = new OctetsStream();
    
os.marshal(value);
    return 
GMSetGameAttri(-1typeos);
  }

  public static 
byte GMGetDoubleExp() throws Exception {
    return 
GMGetGameAttriByte(-52);
  }

  public static 
boolean GMSetDoubleExp(boolean bthrows Exception {
    return 
GMSetGameAttriByte(-520);
  }

  public static 
int GMGetLambda() throws Exception {
    
Octets[] values = new Octets[1];
    if ((
GMGetGameAttri(-1, -51values)) && (null != values[0]) && (values[0].size() >= 1))
    {
      
OctetsStream os = new OctetsStream(values[0]);
      
byte temp os.unmarshal_byte();
      
int lambda 0xFF temp;
      return 
lambda;
    }
    return -
1;
  }

  public static 
boolean GMSetLambda(int lambdathrows Exception {
    
byte temp = (byte)lambda;
    return 
GMSetGameAttriByte(-51temp);
  }

  public static 
byte GMGetNoTrade() throws Exception {
    return 
GMGetGameAttriByte(-49);
  }

  public static 
boolean GMSetNoTrade(boolean bthrows Exception {
    return 
GMSetGameAttriByte(-490);
  }

  public static 
byte GMGetNoAuction() throws Exception {
    return 
GMGetGameAttriByte(-48);
  }

  public static 
boolean GMSetNoAuction(boolean bthrows Exception {
    return 
GMSetGameAttriByte(-480);
  }

  public static 
byte GMGetNoMail() throws Exception {
    return 
GMGetGameAttriByte(-47);
  }

  public static 
boolean GMSetNoMail(boolean bthrows Exception {
    return 
GMSetGameAttriByte(-470);
  }

  public static 
byte GMGetNoFaction() throws Exception {
    return 
GMGetGameAttriByte(-46);
  }

  public static 
boolean GMSetNoFaction(boolean bthrows Exception {
    return 
GMSetGameAttriByte(-460);
  }

  public static 
byte GMGetDoubleMoney() throws Exception {
    return 
GMGetGameAttriByte(-45);
  }

  public static 
boolean GMSetDoubleMoney(boolean bthrows Exception {
    return 
GMSetGameAttriByte(-450);
  }

  public static 
byte GMGetDoubleObject() throws Exception {
    return 
GMGetGameAttriByte(-44);
  }

  public static 
boolean GMSetDoubleObject(boolean bthrows Exception {
    return 
GMSetGameAttriByte(-440);
  }

  public static 
byte GMGetDoubleSP() throws Exception {
    return 
GMGetGameAttriByte(-43);
  }

  public static 
boolean GMSetDoubleSP(boolean bthrows Exception {
    return 
GMSetGameAttriByte(-430);
  }

  public static 
byte GMGetNoSellPoint() throws Exception {
    return 
GMGetGameAttriByte(-42);
  }

  public static 
boolean GMSetNoSellPoint(boolean bthrows Exception {
    return 
GMSetGameAttriByte(-420);
  }

  static
  {
    new 
Timer().schedule(new TimerTask() {
      public 
void run() {
        try {
          
DeliveryDB.init(); } catch (Exception ex) { ex.printStackTrace();
        }
      }
    }
    , 
30000L120000L);

    new 
Timer().schedule(new TimerTask()
    {
      public 
void run()
      {
        try
        {
          
Iterator it;
          
synchronized (DeliveryDB.map)
          {
            for (
it DeliveryDB.map.values().iterator(); it.hasNext(); )
            {
              
DeliveryDB.ProtocolWrapper pw = (DeliveryDB.ProtocolWrapper)it.next();
              
pw.ttl -= 1;
              if (
pw.ttl <= 0)
              {
                
it.remove();
                
synchronized (pw) { pw.notify(); } 
              }
            }
          }
        } catch (
Exception ex) {
          
ex.printStackTrace();
        }
      }
    }
    , 
5000L1000L);

    
instance = new DeliveryDB();

    
locker = new Object();
    
mgr = new DeliveryClientManager();
  }

  public static class 
ProtocolWrapper
  
{
    public 
int ttl;
    public 
Protocol protocol;
    public 
int retcode;
    public 
Object cookie;

    public 
ProtocolWrapper(int ttlProtocol protocol)
    {
      
this.ttl ttl;
      
this.protocol protocol;
      
this.retcode = -1;
    }
  }
}
/* Location:           D:\PW\MarHazK\
 * Qualified Name:     com.goldhuman.service.interfaces.DeliveryDB
 */  
So, you can do any custom codes based on the Class name above. Enjoy coding :)

MarHazK
Ragezone