2 * This file is part of the LibreOffice project.
4 * This Source Code Form is subject to the terms of the Mozilla Public
5 * License, v. 2.0. If a copy of the MPL was not distributed with this
6 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
8 * This file incorporates work covered by the following license notice:
10 * Licensed to the Apache Software Foundation (ASF) under one or more
11 * contributor license agreements. See the NOTICE file distributed
12 * with this work for additional information regarding copyright
13 * ownership. The ASF licenses this file to you under the Apache
14 * License, Version 2.0 (the "License"); you may not use this file
15 * except in compliance with the License. You may obtain a copy of
16 * the License at http://www.apache.org/licenses/LICENSE-2.0 .
19 package com
.sun
.star
.lib
.uno
.protocols
.urp
;
21 import com
.sun
.star
.lib
.uno
.environments
.remote
.ThreadId
;
22 import com
.sun
.star
.uno
.IMethodDescription
;
23 import java
.util
.HashMap
;
24 import java
.util
.Stack
;
26 final class PendingRequests
{
28 public synchronized void push(ThreadId tid
, Item item
) {
29 Stack
<Item
> s
= map
.get(tid
);
31 s
= new Stack
<Item
>();
37 public synchronized Item
pop(ThreadId tid
) {
38 Stack
<Item
> s
= map
.get(tid
);
46 public static final class Item
{
48 boolean internal
, IMethodDescription function
, Object
[] arguments
)
50 this.internal
= internal
;
51 this.function
= function
;
52 this.arguments
= arguments
;
55 public final boolean internal
;
56 public final IMethodDescription function
;
57 public final Object
[] arguments
;
60 private final HashMap
<ThreadId
, Stack
<Item
>> map
= new HashMap
<ThreadId
, Stack
<Item
>>(); // from ThreadId to Stack of Item