31 void accept(
int statusCode = 200);
45 void reject(
int statusCode);
81 std::shared_ptr<ContactList> mOriginalContacts;
113 typedef enum AsyncState
116 asyncStateWaitingForInitialContactList,
117 asyncStateProcessingRegistration,
118 asyncStateWaitingForAcceptReject,
119 asyncStateAcceptedWaitingForFinalContactList,
120 asyncStateProvidedFinalContacts,
124 AsyncState mAsyncState;
128 void processRegistration(
const SipMessage& msg);
141 void asyncProcessFinalContacts(std::unique_ptr<resip::ContactPtrList>
contacts);
145 class AsyncLocalStore
149 AsyncLocalStore(std::unique_ptr<ContactPtrList> originalContacts)
151 create(std::move(originalContacts));
154 ~AsyncLocalStore(
void)
162 void create(std::unique_ptr<ContactPtrList> originalContacts);
166 void removeContact(
const ContactInstanceRecord &rec);
169 void removeAllContacts(
void);
174 updateContact(
const ContactInstanceRecord &rec);
179 void releaseLog(std::unique_ptr<ContactRecordTransactionLog> &log, std::unique_ptr<ContactPtrList> &modifiedContacts)
181 log = std::move(mLog);
182 modifiedContacts = std::move(mModifiedContacts);
185 unsigned int numContacts() {
if(mModifiedContacts.get())
return (
unsigned int)mModifiedContacts->size();
return 0; }
187 std::unique_ptr<ContactRecordTransactionLog> mLog;
188 std::unique_ptr<ContactPtrList> mModifiedContacts;
191 std::shared_ptr<AsyncLocalStore> mAsyncLocalStore;
196 std::shared_ptr<SipMessage> mAsyncOkMsg;