Changeset 62143 in webkit


Ignore:
Timestamp:
Jun 29, 2010 1:01:23 PM (14 years ago)
Author:
andersca@apple.com
Message:

2010-06-29 Anders Carlsson <andersca@apple.com>

Reviewed by Sam Weinig.

Add a private Message class template
https://bugs.webkit.org/show_bug.cgi?id=41370

  • Platform/CoreIPC/Connection.h: (CoreIPC::Connection::Message::Message): (CoreIPC::Connection::Message::arguments):
Location:
trunk/WebKit2
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/WebKit2/ChangeLog

    r62050 r62143  
     12010-06-29  Anders Carlsson  <andersca@apple.com>
     2
     3        Reviewed by Sam Weinig.
     4
     5        Add a private Message class template
     6        https://bugs.webkit.org/show_bug.cgi?id=41370
     7
     8        * Platform/CoreIPC/Connection.h:
     9        (CoreIPC::Connection::Message::Message):
     10        (CoreIPC::Connection::Message::arguments):
     11
    1122010-06-28  John Gregg  <johnnyg@google.com>
    213
  • trunk/WebKit2/Platform/CoreIPC/Connection.h

    r61563 r62143  
    109109    RunLoop* m_clientRunLoop;
    110110
    111     // Incoming messages.
    112     class IncomingMessage {
     111    template<typename T> class Message {
    113112    public:
    114         IncomingMessage(MessageID messageID, std::auto_ptr<ArgumentDecoder> arguments)
     113        Message(MessageID messageID, std::auto_ptr<T> arguments)
    115114            : m_messageID(messageID)
    116115            , m_arguments(arguments.release())
    117116        {
    118117        }
    119 
     118       
    120119        MessageID messageID() const { return m_messageID; }
    121         ArgumentDecoder* arguments() const { return m_arguments; }
     120        T* arguments() const { return m_arguments; }
    122121       
    123122        void destroy()
     
    128127    private:
    129128        MessageID m_messageID;
    130         ArgumentDecoder* m_arguments;
     129        T* m_arguments;
    131130    };
     131
     132    // Incoming messages.
     133    typedef Message<ArgumentDecoder> IncomingMessage;
    132134
    133135    Mutex m_incomingMessagesLock;
     
    135137
    136138    // Outgoing messages.
    137     class OutgoingMessage {
    138     public:
    139         OutgoingMessage(MessageID messageID, std::auto_ptr<ArgumentEncoder> arguments)
    140             : m_messageID(messageID)
    141             , m_arguments(arguments.release())
    142         {
    143         }
    144        
    145         MessageID messageID() const { return m_messageID; }
    146         ArgumentEncoder* arguments() const { return m_arguments; }
    147        
    148         void destroy()
    149         {
    150             delete m_arguments;
    151         }
    152        
    153     private:
    154         MessageID m_messageID;
    155         ArgumentEncoder* m_arguments;
    156     };
    157    
     139    typedef Message<ArgumentEncoder> OutgoingMessage;
     140
    158141    Mutex m_outgoingMessagesLock;
    159142    Vector<OutgoingMessage> m_outgoingMessages;
Note: See TracChangeset for help on using the changeset viewer.