Exemple #1
0
int KTeamClient::LuaGetClientTeamMemberPortraitID(Lua_State* L)
{
    int             nResult     = 0;
    int             nRetCode    = 0;
    DWORD           dwMemberID  = 0;
    KTEAM_MEMBER_INFO*   pMemberInfo = NULL;

    nRetCode = Lua_GetTopIndex(L);
    KGLOG_PROCESS_ERROR(nRetCode == 1);

    dwMemberID = (DWORD)Lua_ValueToNumber(L, 1);

    KG_PROCESS_ERROR(m_dwTeamID != ERROR_ID);

    pMemberInfo = GetMemberInfo(dwMemberID);
    KGLOG_PROCESS_ERROR(pMemberInfo);

    Lua_PushNumber(L, pMemberInfo->PortraitInfo.dwHelmStyle);
    Lua_PushNumber(L, pMemberInfo->PortraitInfo.dwHelmColor);
    Lua_PushNumber(L, pMemberInfo->PortraitInfo.dwFaceStyle);
    Lua_PushNumber(L, pMemberInfo->PortraitInfo.dwHairStyle);

    Lua_PushNumber(L, pMemberInfo->nRoleType);

    nResult = 5;
Exit0:
    return nResult;
}
Exemple #2
0
int KTeamClient::LuaGetClientTeamMemberCurrentMana(Lua_State* L)
{
    int             nResult      = 0;
    int             nRetCode     = 0;
    int             nCurrentMana = 0;
    DWORD           dwMemberID   = 0;
    KTEAM_MEMBER_INFO*   pMemberInfo  = NULL;


    nRetCode = Lua_GetTopIndex(L);
    KGLOG_PROCESS_ERROR(nRetCode == 1);

    dwMemberID = (DWORD)Lua_ValueToNumber(L, 1);

    KG_PROCESS_ERROR(m_dwTeamID != ERROR_ID);

    pMemberInfo = GetMemberInfo(dwMemberID);
    KGLOG_PROCESS_ERROR(pMemberInfo);

    nCurrentMana = pMemberInfo->nMaxMana * pMemberInfo->nManaPercent / UCHAR_MAX;

    Lua_PushNumber(L, nCurrentMana);

    nResult = 1;
Exit0:
    return nResult;
}
Exemple #3
0
void
xpc_qsThrowBadSetterValue(JSContext *cx, nsresult rv,
                          JSObject *obj, jsval propId)
{
    const char *ifaceName, *memberName;
    GetMemberInfo(obj, propId, &ifaceName, &memberName);
    ThrowBadArg(cx, rv, ifaceName, memberName, 0);
}
Exemple #4
0
JSBool
xpc_qsThrowGetterSetterFailed(JSContext *cx, nsresult rv, JSObject *obj,
                              jsval memberId)
{
    const char *ifaceName, *memberName;
    GetMemberInfo(obj, memberId, &ifaceName, &memberName);
    return ThrowCallFailed(cx, rv, ifaceName, memberName);
}
Exemple #5
0
int AddMember(int argc, char **argv)
{
  char *args[10], temp_buf[BUFSIZ], *p;
  int status;
  struct mqelem *mailhubs, *elem;

  if (GetMemberInfo("add", args) == SUB_ERROR)
    return DM_NORMAL;

  if (!strcmp(args[LM_TYPE], "STRING"))
    {
      status = mrcl_validate_string_member(args[LM_MEMBER]);
      if (status != MRCL_SUCCESS)
	Put_message(mrcl_get_message());
      if (status == MRCL_REJECT)
	return DM_NORMAL;
    }
  else if (!strcmp(args[LM_TYPE], "KERBEROS"))
    {
      char *canon;

      status = mrcl_validate_kerberos_member(args[LM_MEMBER], &canon);
      if (mrcl_get_message())
	Put_message(mrcl_get_message());
      if (status == MRCL_REJECT)
	return DM_NORMAL;
      free(args[LM_MEMBER]);
      args[LM_MEMBER] = canon;
    }
  else if (!strcmp(args[LM_TYPE], "MACHINE"))
    {
      char *canon;
      canon = canonicalize_hostname(strdup(args[LM_MEMBER]));
      free(args[LM_MEMBER]);
      args[LM_MEMBER] = canon;
    }

  if ((status = do_mr_query("add_member_to_list", CountArgs(args), args,
			    NULL, NULL)) != MR_SUCCESS)
    {
      if (status == MR_EXISTS)
	{
	  sprintf(temp_buf, "The %s %s is already a member of LIST %s.",
		  args[LM_TYPE], args[LM_MEMBER], args[LM_LIST]);
	  Put_message(temp_buf);
	}
      else
	com_err(program_name, status, " in AddMember");
    }

  FreeInfo(args);
  return DM_NORMAL;
}
Exemple #6
0
int DeleteMember(int argc, char **argv)
{
  char *args[10];
  int status;

  if (GetMemberInfo("delete", args) == SUB_ERROR)
    return DM_NORMAL;

  if (Confirm("Are you sure you want to delete this member?"))
    {
      if ((status = do_mr_query("delete_member_from_list", CountArgs(args),
				args, NULL, NULL)))
	{
	  if ((status == MR_STRING || status == MR_NO_MATCH) &&
	      !strcmp(args[LM_TYPE], "KERBEROS"))
	    {
	      char *canon;
	      mrcl_validate_kerberos_member(args[LM_MEMBER], &canon);
	      if (mrcl_get_message())
		{
		  free(args[LM_MEMBER]);
		  args[LM_MEMBER] = canon;
		  if (do_mr_query("delete_member_from_list", CountArgs(args),
				  args, NULL, NULL) == MR_SUCCESS)
		    {
		      Put_message(mrcl_get_message());
		      status = MR_SUCCESS;
		    }
		}
	    }
	  else if ((status == MR_MACHINE || status == MR_NO_MATCH) &&
		   !strcmp(args[LM_TYPE], "MACHINE"))
	    {
	      char *canon;
	      canon = canonicalize_hostname(args[LM_MEMBER]);
	      args[LM_MEMBER] = canon;
	      if (do_mr_query("delete_member_from_list", CountArgs(args),
			      args, NULL, NULL) == MR_SUCCESS)
		status = MR_SUCCESS;
	    }
	}
      if (status)
	com_err(program_name, status, " in DeleteMember");
      else
	Put_message("Deletion Completed.");
    }
  else
    Put_message("Deletion has been Aborted.");

  FreeInfo(args);
  return DM_NORMAL;
}
Exemple #7
0
static void
GetMethodInfo(JSContext *cx,
              jsval *vp,
              const char **ifaceName,
              const char **memberName)
{
    JSObject *funobj = JSVAL_TO_OBJECT(JS_CALLEE(cx, vp));
    NS_ASSERTION(JS_ObjectIsFunction(cx, funobj),
                 "JSFastNative callee should be Function object");
    JSString *str = JS_GetFunctionId((JSFunction *) JS_GetPrivate(cx, funobj));
    jsval methodId = str ? STRING_TO_JSVAL(str) : JSVAL_NULL;

    GetMemberInfo(JSVAL_TO_OBJECT(vp[1]), methodId, ifaceName, memberName);
}
Exemple #8
0
int KTeamClient::LuaIsPlayerInTeam(Lua_State* L)
{
    BOOL            bResult     = false;
    int             nTopIndex   = 0;
    DWORD           dwPlayerID  = 0;
    KTEAM_MEMBER_INFO*   pMemberinfo = NULL;

    nTopIndex = Lua_GetTopIndex(L);
    KGLOG_PROCESS_ERROR(nTopIndex == 1);

    dwPlayerID = (DWORD)Lua_ValueToNumber(L, 1);

    pMemberinfo = GetMemberInfo(dwPlayerID);
    KG_PROCESS_ERROR(pMemberinfo);

    bResult = true;
Exit0:
    Lua_PushBoolean(L, bResult);
    return 1;
}
Exemple #9
0
int KTeamClient::LuaSetAuthorityInfo(Lua_State* L)
{
    int                     nTopIndex   = 0;
    KTEAM_AUTHORITY_TYPE    eAuthority  = tatInvalid;
    DWORD                   dwTargetID  = ERROR_ID;
    KTEAM_MEMBER_INFO*      pMemberInfo = NULL;

    nTopIndex = Lua_GetTopIndex(L);
    KGLOG_PROCESS_ERROR(nTopIndex == 2);

    eAuthority = (KTEAM_AUTHORITY_TYPE)(int)Lua_ValueToNumber(L, 1);
    dwTargetID   = (DWORD)Lua_ValueToNumber(L, 2);

    pMemberInfo = GetMemberInfo(dwTargetID);
    KGLOG_PROCESS_ERROR(pMemberInfo);

    g_PlayerClient.DoTeamChangeAuthorityRequest(eAuthority, dwTargetID);

Exit0:
    return 0;
}
Exemple #10
0
    void Property::DefinitionPass()
    {
        // Only create once the member info.
        if(createdMemberInfo)
            return;
        createdMemberInfo = true;

        // Only create the reflection info in modules that support it.    
        Module *module = GetModule();
        if(!module->HasReflection())
            return;

        // Get the property info class.
        VirtualMachine *vm = module->GetVirtualMachine();
        Class *propInfoClass = vm->GetPropertyInfoClass();

        // Create the property info value.
        ConstantStructurePtr propInfoValue(propInfoClass->CreateConstant(module));

        // Store the MemberInfo attributes.
        SetMemberInfoData(propInfoValue);

        // Set the "getMethod" field.
        if(getAccessor)
            propInfoValue->SetField("getMethod", getAccessor->GetMemberInfo());

        // Set the "setMethod" field.
        if(setAccessor)
            propInfoValue->SetField("setMethod", setAccessor->GetMemberInfo());

        // Set the property type field.
        propInfoValue->SetField("propertyType", GetReflectedType(GetType()));

        // Set the field info.
        GetMemberInfo()->setInitializer(propInfoValue->Finish());

        // Define the custom attributes.
        DefineAttributes();
    }
Exemple #11
0
int KTeamClient::LuaGetClientTeamMemberLevel(Lua_State* L)
{
    int             nResult     = 0;
    int             nRetCode    = 0;
    DWORD           dwMemberID  = 0;
    KTEAM_MEMBER_INFO*   pMemberInfo = NULL;

    nRetCode = Lua_GetTopIndex(L);
    KGLOG_PROCESS_ERROR(nRetCode == 1);

    dwMemberID = (DWORD)Lua_ValueToNumber(L, 1);

    KG_PROCESS_ERROR(m_dwTeamID != ERROR_ID);

    pMemberInfo = GetMemberInfo(dwMemberID);
    KGLOG_PROCESS_ERROR(pMemberInfo);

    Lua_PushNumber(L, pMemberInfo->nLevel);

    nResult = 1;
Exit0:
    return nResult;
}
Exemple #12
0
int TagMember(int argc, char **argv)
{
  char *args[10];
  int status;

  if (GetMemberInfo("tag", args) == SUB_ERROR)
    return DM_NORMAL;

  args[LM_TAG] = strdup("");
  if (GetValueFromUser("Tag" , &args[LM_TAG]) == SUB_ERROR)
    {
      Put_message("Aborted.");
      return DM_NORMAL;
    }
  args[LM_TAG_END] = NULL;		/* NULL terminate this list. */

  if ((status = do_mr_query("tag_member_of_list", CountArgs(args),
			    args, NULL, NULL)))
    com_err(program_name, status, " in TagMember");

  FreeInfo(args);
  return DM_NORMAL;
}
Exemple #13
0
int KTeamClient::LuaGetMemberInfo(Lua_State* L)
{
    int                 nResult         = 0;
    int                 nTopIndex       = 0;
    int                 nTable          = 0;
    int                 nCurrentLife    = 0;
    int                 nCurrentMana    = 0;
    DWORD               dwMemberID      = 0;
    KTEAM_MEMBER_INFO*  pMemberInfo     = NULL;

    nTopIndex = Lua_GetTopIndex(L);
    KGLOG_PROCESS_ERROR(nTopIndex == 1);

    KGLOG_PROCESS_ERROR(m_dwTeamID != ERROR_ID);

    dwMemberID = (DWORD)Lua_ValueToNumber(L, 1);

    pMemberInfo = GetMemberInfo(dwMemberID);
    KGLOG_PROCESS_ERROR(pMemberInfo);

    Lua_NewTable(L);
    nTable = Lua_GetTopIndex(L);

    Lua_PushString(L, "szName");
    Lua_PushString(L, pMemberInfo->szRoleName);
    Lua_SetTable(L, nTable);

    Lua_PushString(L, "nLevel");
    Lua_PushNumber(L, pMemberInfo->nLevel);
    Lua_SetTable(L, nTable);

    Lua_PushString(L, "bIsOnLine");
    Lua_PushBoolean(L, pMemberInfo->bOnlineFlag);
    Lua_SetTable(L, nTable);

    Lua_PushString(L, "bDeathFlag");
    Lua_PushBoolean(L, pMemberInfo->bDeathFlag);
    Lua_SetTable(L, nTable);

    Lua_PushString(L, "nCamp");
    Lua_PushNumber(L, pMemberInfo->eCamp);
    Lua_SetTable(L, nTable);

    Lua_PushString(L, "dwForceID");
    Lua_PushNumber(L, pMemberInfo->dwForceID);
    Lua_SetTable(L, nTable);

    Lua_PushString(L, "nMaxLife");
    Lua_PushNumber(L, pMemberInfo->nMaxLife);
    Lua_SetTable(L, nTable);

    nCurrentLife = pMemberInfo->nMaxLife * pMemberInfo->nLifePercent / UCHAR_MAX;
    Lua_PushString(L, "nCurrentLife");
    Lua_PushNumber(L, nCurrentLife);
    Lua_SetTable(L, nTable);

    Lua_PushString(L, "nMaxMana");
    Lua_PushNumber(L, pMemberInfo->nMaxMana);
    Lua_SetTable(L, nTable);

    nCurrentMana = pMemberInfo->nMaxMana * pMemberInfo->nManaPercent / UCHAR_MAX;
    Lua_PushString(L, "nCurrentMana");
    Lua_PushNumber(L, nCurrentMana);
    Lua_SetTable(L, nTable);

    Lua_PushString(L, "dwMapID");
    Lua_PushNumber(L, pMemberInfo->dwMapID);
    Lua_SetTable(L, nTable);

    Lua_PushString(L, "nMapCopyIndex");
    Lua_PushNumber(L, pMemberInfo->nMapCopyIndex);
    Lua_SetTable(L, nTable);

    Lua_PushString(L, "nPosX");
    Lua_PushNumber(L, pMemberInfo->nPosX);
    Lua_SetTable(L, nTable);

    Lua_PushString(L, "nPosY");
    Lua_PushNumber(L, pMemberInfo->nPosY);
    Lua_SetTable(L, nTable);

    Lua_PushString(L, "nRoleType");
    Lua_PushNumber(L, pMemberInfo->nRoleType);
    Lua_SetTable(L, nTable);

    Lua_PushString(L, "nFormationCoefficient");
    Lua_PushNumber(L, pMemberInfo->nFormationCoefficient);
    Lua_SetTable(L, nTable);

    nResult = 1;
Exit0:
    return nResult;
}