feisty meow concerns codebase  2.140
identity_tentacle.h
Go to the documentation of this file.
1 #ifndef IDENTITY_TENTACLE_CLASS
2 #define IDENTITY_TENTACLE_CLASS
3 
4 /*****************************************************************************\
5 * *
6 * Name : identity_tentacle *
7 * Author : Chris Koeritz *
8 * *
9 *******************************************************************************
10 * Copyright (c) 2002-$now By Author. This program is free software; you can *
11 * redistribute it and/or modify it under the terms of the GNU General Public *
12 * License as published by the Free Software Foundation; either version 2 of *
13 * the License or (at your option) any later version. This is online at: *
14 * http://www.fsf.org/copyleft/gpl.html *
15 * Please send any updates to: fred@gruntose.com *
16 \*****************************************************************************/
17 
18 #include "identity_infoton.h"
19 #include "tentacle_helper.h"
20 
21 #include <basis/byte_array.h>
22 #include <basis/outcome.h>
24 
25 namespace octopi {
26 
28 
30 : public tentacle_helper<identity_infoton>
31 {
32 public:
33  identity_tentacle(octopus &parent);
35 
36  virtual ~identity_tentacle();
37 
38  DEFINE_CLASS_NAME("identity_tentacle");
39 
40  virtual basis::outcome reconstitute(const structures::string_array &classifier,
41  basis::byte_array &packed_form, infoton * &reformed);
43 
47  virtual basis::outcome consume(infoton &to_chow, const octopus_request_id &item_id,
48  basis::byte_array &transformed);
50 
54 private:
55  octopus &_parent;
56 };
57 
58 } //namespace.
59 
60 #endif
61 
A very common template for a dynamic array of bytes.
Definition: byte_array.h:36
Outcomes describe the state of completion for an operation.
Definition: outcome.h:31
Supports an early step in using octopus services: getting an identity.
virtual basis::outcome reconstitute(const structures::string_array &classifier, basis::byte_array &packed_form, infoton *&reformed)
reinflates an infoton given that we know the type in "classifier".
identity_tentacle(octopus &parent)
the "parent" will provide the real identity services.
virtual basis::outcome consume(infoton &to_chow, const octopus_request_id &item_id, basis::byte_array &transformed)
chews on the "to_chow" infoton to perform the requested action.
DEFINE_CLASS_NAME("identity_tentacle")
An infoton is an individual request parcel with accompanying information.
Definition: infoton.h:32
Identifies requests made on an octopus by users.
Definition: entity_defs.h:114
Octopus is a design pattern for generalized request processing systems.
Definition: octopus.h:47
provides prefab implementations for parts of the tentacle object.
An array of strings with some additional helpful methods.
Definition: string_array.h:32
Automates some common tasks for tentacle implementations. This template provides some default impleme...