Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- glxml([])->[];
- glxml([Item | NL])->
- {Id,Guid,Version,Name,GameName, Host} = Item,
- Attrs = [{"id",Id},{"guid",Guid},{"version",Version},{"name",Name},{"gamename",GameName},{"host",Host}],
- FPart = {xmlelement,"game",Attrs,[]},
- glxml(NL,[FPart]).
- glxml([Item | NL],NewList)->
- {Id,Guid,Version,Name,GameName, Host} = Item,
- Attrs = [{"id",Id},{"guid",Guid},{"version",Version},{"name",Name},{"gamename",GameName},{"host",Host}],
- FPart = {xmlelement,"game",Attrs,[]},
- glxml(NL,NewList ++ [FPart]);
- glxml([],NewList)->
- NewList.
- get_game_list() ->
- clear_dead_games(),
- F = fun() ->
- Created = #game{status=created,id='$1',guid='$2',version='$3',name='$4',gamename='$5', host='$6'},
- mnesia:select(game,[{Created,[],[{{'$1','$2','$3','$4','$5','$6'}}]}])
- end,
- {atomic,CreatedList} = mnesia:transaction(F),
- EndList = glxml(CreatedList),
- ?INFO_MSG("~p~n", [EndList]),
- EndList.
- clear_dead_games() ->
- GF = fun() ->
- GSel = #game{id = '$1', _ = '_'},
- mnesia:select(game, [{GSel, [], ['$1']}])
- end,
- {atomic,GameList} = mnesia:transaction(GF),
- ?INFO_MSG("Games ~p~n",[GameList]),
- lists:foreach(
- fun(X)->
- case room_online(X) of
- false ->
- delete_game(X);
- _ ->
- false
- end
- end, GameList).
- room_online(Room) ->
- ?INFO_MSG("A~n",[]),
- TheResult = mnesia:dirty_read({muc_online_room,Room}),
- ?INFO_MSG("B~n",[]),
- ?INFO_MSG("Looking For Room ~p~nResult: ~p",[Room,TheResult]),
- case TheResult of
- [] ->
- false;
- _ ->
- true
- end.
- delete_game(Game) ->
- ?INFO_MSG("Deleting game ~p~n",[Game]),
- Result = mnesia:dirty_delete({game,Game}),
- ?INFO_MSG("Delete Game Result ~p~n",[Result]).
Add Comment
Please, Sign In to add comment