Annotation of parser3/src/classes/memcached.C, revision 1.1

1.1     ! moko        1: /** @file
        !             2:        Parser: memcached class.
        !             3: 
        !             4:        Copyright (c) 2001-2012 Art. Lebedev Studio (http://www.artlebedev.com)
        !             5:        Authors:
        !             6:                Ivan Poluyanov <ivan-poluyanov@yandex.ru>
        !             7:                Artem Stepanov <timofei1394@thesecure.in>
        !             8: */
        !             9: 
        !            10: #include "pa_vmethod_frame.h"
        !            11: 
        !            12: #include "pa_request.h"
        !            13: #include "pa_vstring.h"
        !            14: #include "pa_vmemcached.h"
        !            15: 
        !            16: volatile const char * IDENT_MEMCACHED_C="$Id: memcached.C,v 1.9 2012-03-16 09:24:07 moko Exp $";
        !            17: 
        !            18: class MMemcached: public Methoded {
        !            19: public: // VStateless_class
        !            20:        Value* create_new_value(Pool&) { return new VMemcached(); }
        !            21: public:
        !            22:        MMemcached();
        !            23: };
        !            24: 
        !            25: DECLARE_CLASS_VAR(memcached, new MMemcached, 0);
        !            26: 
        !            27: static void _open(Request& r, MethodParams& params) {
        !            28:        const String& connect_string=params.as_string(0, "connection string must be string");
        !            29:        VMemcached& self=GET_SELF(r, VMemcached);
        !            30:        self.open(connect_string);
        !            31: }
        !            32: 
        !            33: static void _delete(Request& r, MethodParams& params) {
        !            34:        const String& key=params.as_string(0, "key must be string");
        !            35: 
        !            36:        VMemcached& self=GET_SELF(r, VMemcached);
        !            37:        self.remove(key);
        !            38: }
        !            39: 
        !            40: MMemcached::MMemcached() : Methoded("memcached") {
        !            41:        add_native_method("open", Method::CT_DYNAMIC, _open, 1, 1);
        !            42:        add_native_method("delete", Method::CT_DYNAMIC, _delete, 1, 1);
        !            43: }

E-mail: